From 07dfb856c682c06355ecb9e77039752f0423856d Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Fri, 1 Apr 2022 06:22:22 +0000 Subject: [PATCH 001/146] Auto-generated commit 006ce2a695905f737a7c349dfb918c2bf0c381ac --- CONTRIBUTORS | 28 +++ LICENSE | 481 +++++++++++++++++++++++++++++++++++++++++++++++++++ NOTICE | 1 + README.md | 217 +++++++++++++++++++++++ mod.d.ts | 78 +++++++++ mod.js | 4 + mod.js.map | 1 + package.json | 41 +++++ 8 files changed, 851 insertions(+) create mode 100644 CONTRIBUTORS create mode 100644 LICENSE create mode 100644 NOTICE create mode 100644 README.md create mode 100644 mod.d.ts create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 package.json diff --git a/CONTRIBUTORS b/CONTRIBUTORS new file mode 100644 index 0000000..e5c896d --- /dev/null +++ b/CONTRIBUTORS @@ -0,0 +1,28 @@ +# This file is generated by tools/scripts/update_contributors. +# +# Contributors listed in alphabetical order. + +Ali Salesi +Athan Reines +Brendan Graetz +Bruno Fenzl +Christopher Dambamuromo +Dominik Moritz +Frank Kovacs +James +Jithin KS +Joey Reed +Joris Labie +Justin Dennison +Marcus +Matt Cochrane +Milan Raj +Momtchil Momtchev +Ognjen Jevremović +Philipp Burckhardt +Ricky Reusser +Ryan Seal +Seyyed Parsa Neshaei +Shraddheya Shendre +dorrin-sot <59933477+dorrin-sot@users.noreply.github.com> +rei2hu diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..fcc9934 --- /dev/null +++ b/LICENSE @@ -0,0 +1,481 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + + +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by this +license (the "Software") to use, reproduce, display, distribute, execute, and +transmit the Software, and to prepare derivative works of the Software, and to +permit third-parties to whom the Software is furnished to do so, all subject to +the following: + +The copyright notices in the Software and this entire statement, including the +above license grant, this restriction and the following disclaimer, must be +included in all copies of the Software, in whole or in part, and all derivative +works of the Software, unless such copies or derivative works are solely in the +form of machine-executable object code generated by a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES +OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + + +DEPENDENCIES + +The library links against the following external libraries, which have their own +licenses: + +* OpenBLAS + +Copyright (c) 2011-2014, The OpenBLAS Project +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. Neither the name of the OpenBLAS project nor the names of + its contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* Electron + +Copyright (c) 2013-2017 GitHub Inc. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +* Boost + +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + +* Cephes + +Copyright (c) 1984-2000 Stephen L. Moshier + +Some software in this archive may be from the book _Methods and Programs for +Mathematical Functions_ (Prentice-Hall or Simon & Schuster International, 1989) +or from the Cephes Mathematical Library, a commercial product. In either event, +it is copyrighted by the author. What you see here may be used freely but it +comes with no support or guarantee. + +Stephen L. Moshier +moshier@na-net.ornl.gov + + + +ATTRIBUTION + +The library contains implementations from the following external libraries, +which have their own licenses: + +* FreeBSD + +Copyright (C) 1993-2004 by Sun Microsystems, Inc. All rights reserved. + +Developed at SunPro, a Sun Microsystems, Inc. business. +Permission to use, copy, modify, and distribute this +software is freely granted, provided that this notice +is preserved. + + +* FDLIBM + +Copyright (C) 2004 by Sun Microsystems, Inc. All rights reserved. + +Developed at SunPro, a Sun Microsystems, Inc. business. +Permission to use, copy, modify, and distribute this +software is freely granted, provided that this notice +is preserved. + + +* Go + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* SLATEC Common Mathematical Library + +Public domain. + + +* ESLint + +Copyright JS Foundation and other contributors, https://js.foundation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +* StatsFuns.jl + +Copyright (c) 2015: Dahua Lin. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +* SpecialFunctions.jl + +The MIT License (MIT) + +Copyright (c) 2017 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and others: + +https://github.com/JuliaMath/SpecialFunctions.jl/graphs/contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +* MT19937 + +Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/NOTICE b/NOTICE new file mode 100644 index 0000000..10e6ba1 --- /dev/null +++ b/NOTICE @@ -0,0 +1 @@ +Copyright (c) 2016-2022 The Stdlib Authors. diff --git a/README.md b/README.md new file mode 100644 index 0000000..59146ce --- /dev/null +++ b/README.md @@ -0,0 +1,217 @@ + + +# To Binary String + +[![NPM version][npm-image]][npm-url] [![Build Status][test-image]][test-url] [![Coverage Status][coverage-image]][coverage-url] + +> Return a string giving the literal bit representation of a [single-precision floating-point number][ieee754]. + + + +
+ +## Usage + +```javascript +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; +``` + +#### toBinaryStringf( x ) + +Returns a `string` giving the literal bit representation of a [single-precision floating-point number][ieee754]. + +```javascript +import toFloat32 from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float64-base-to-float32@deno/mod.js'; + +var str = toBinaryStringf( toFloat32( 4.0 ) ); +// returns '01000000100000000000000000000000' + +str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); +// returns '01000000010010010000111111011011' + +str = toBinaryStringf( toFloat32( -1.0e38 ) ); +// returns '11111110100101100111011010011001' +``` + +The function handles [subnormals][subnormals]. + +```javascript +import toFloat32 from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float64-base-to-float32@deno/mod.js'; + +str = toBinaryStringf( toFloat32( -3.14e-39 ) ); +// returns '10000000001000100011000100001011' + +str = toBinaryStringf( toFloat32( 1.4e-45 ) ); +// returns '00000000000000000000000000000001' +``` + +The function handles special values. + +```javascript +import PINF from 'https://cdn.jsdelivr.net/gh/stdlib-js/constants-float32-pinf@deno/mod.js'; +import NINF from 'https://cdn.jsdelivr.net/gh/stdlib-js/constants-float32-ninf@deno/mod.js'; + +str = toBinaryStringf( 0.0 ); +// returns '00000000000000000000000000000000' + +str = toBinaryStringf( -0.0 ); +// returns '10000000000000000000000000000000' + +str = toBinaryStringf( NaN ); +// returns '01111111110000000000000000000000' + +str = toBinaryStringf( PINF ); +// returns '01111111100000000000000000000000' + +str = toBinaryStringf( NINF ); +// returns '11111111100000000000000000000000' +``` + +
+ + + +
+ +## Examples + + + +```javascript +import randu from 'https://cdn.jsdelivr.net/gh/stdlib-js/random-base-randu@deno/mod.js'; +import round from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-round@deno/mod.js'; +import pow from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-pow@deno/mod.js'; +import float64ToFloat32 from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float64-base-to-float32@deno/mod.js'; +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; + +var frac; +var sign; +var exp; +var b; +var x; +var i; + +// Convert random numbers to literal bit representations... +for ( i = 0; i < 100; i++ ) { + if ( randu() < 0.5 ) { + sign = -1.0; + } else { + sign = 1.0; + } + frac = randu() * 10.0; + exp = round( randu()*100.0 ); + if ( randu() < 0.5 ) { + exp = -exp; + } + x = sign * frac * pow( 2.0, exp ); + x = float64ToFloat32( x ); + b = toBinaryStringf( x ); + console.log( b ); +} +``` + +
+ + + + + + + + + + + + +
+ +* * * + +## Notice + +This package is part of [stdlib][stdlib], a standard library with an emphasis on numerical and scientific computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more. + +For more information on the project, filing bug reports and feature requests, and guidance on how to develop [stdlib][stdlib], see the main project [repository][stdlib]. + +#### Community + +[![Chat][chat-image]][chat-url] + +--- + +## License + +See [LICENSE][stdlib-license]. + + +## Copyright + +Copyright © 2016-2022. The Stdlib [Authors][stdlib-authors]. + +
+ + + + + + + + diff --git a/mod.d.ts b/mod.d.ts new file mode 100644 index 0000000..1881a26 --- /dev/null +++ b/mod.d.ts @@ -0,0 +1,78 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2019 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. +*/ + +// TypeScript Version: 2.0 + +/** +* Returns a string giving the literal bit representation of a single-precision floating-point number. +* +* @param x - input value +* @returns bit representation +* +* @example +* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); +* var str = toBinaryStringf( toFloat32( 4.0 ) ); +* // returns '01000000100000000000000000000000' +* +* @example +* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); +* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); +* // returns '01000000010010010000111111011011' +* +* @example +* var str = toBinaryStringf( toFloat32( -1e38 ) ); +* // returns '11111110100101100111011010011001' +* +* @example +* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); +* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); +* // returns '10000000001000100011000100001011' +* +* @example +* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); +* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); +* // returns '00000000000000000000000000000001' +* +* @example +* var str = toBinaryStringf( 0.0 ); +* // returns '00000000000000000000000000000000' +* +* @example +* var str = toBinaryStringf( -0.0 ); +* // returns '10000000000000000000000000000000' +* +* @example +* var str = toBinaryStringf( NaN ); +* // returns '01111111110000000000000000000000' +* +* @example +* var PINF = require( `@stdlib/constants/float32/pinf` ); +* var str = toBinaryStringf( PINF ); +* // returns '01111111100000000000000000000000' +* +* @example +* var NINF = require( `@stdlib/constants/float32/ninf` ); +* var str = toBinaryStringf( NINF ); +* // returns '11111111100000000000000000000000' +*/ +declare function toBinaryStringf( x: number ): string; + + +// EXPORTS // + +export = toBinaryStringf; diff --git a/mod.js b/mod.js new file mode 100644 index 0000000..7d15534 --- /dev/null +++ b/mod.js @@ -0,0 +1,4 @@ +// Copyright (c) 2022 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 +/// +var r=function(){return"function"==typeof Symbol&&"symbol"==typeof Symbol("foo")}();var t=function(){return r&&"symbol"==typeof Symbol.toStringTag},e=Object.prototype.toString,n=e;var i=function(r){return n.call(r)},a=Object.prototype.hasOwnProperty;var o=function(r,t){return null!=r&&a.call(r,t)},u="function"==typeof Symbol?Symbol.toStringTag:"",l=o,f=u,c=e;var v=function(r){var t,e,n;if(null==r)return c.call(r);e=r[f],t=l(r,f);try{r[f]=void 0}catch(t){return c.call(r)}return n=c.call(r),t?r[f]=e:delete r[f],n},g=i,m=v,s=t()?m:g,y=s,p="function"==typeof Float32Array;var b=function(r){return p&&r instanceof Float32Array||"[object Float32Array]"===y(r)},h=Number.POSITIVE_INFINITY,w="function"==typeof Float32Array?Float32Array:null,d=b,_=h,j=w;var E="function"==typeof Float32Array?Float32Array:void 0,O=function(){throw new Error("not implemented")},P=function(){var r,t;if("function"!=typeof j)return!1;try{t=new j([1,3.14,-3.14,5e40]),r=d(t)&&1===t[0]&&3.140000104904175===t[1]&&-3.140000104904175===t[2]&&t[3]===_}catch(t){r=!1}return r}()?E:O,S=s,T="function"==typeof Uint32Array;var A="function"==typeof Uint32Array?Uint32Array:null,F=function(r){return T&&r instanceof Uint32Array||"[object Uint32Array]"===S(r)},V=A;var I="function"==typeof Uint32Array?Uint32Array:void 0,x=function(){throw new Error("not implemented")},N=function(){var r,t;if("function"!=typeof V)return!1;try{t=new V(t=[1,3.14,-3.14,4294967296,4294967297]),r=F(t)&&1===t[0]&&3===t[1]&&4294967293===t[2]&&0===t[3]&&1===t[4]}catch(t){r=!1}return r}()?I:x,U=N,R=new P(1);new U(R.buffer)[0]=2139095040;var k=R[0],G=N,M=new P(1);new G(M.buffer)[0]=4286578688;var Y=M[0];var C=function(r){return Math.abs(r)},q=Math.floor,z="function"==typeof Object.defineProperty?Object.defineProperty:null;var B=function(){try{return z({},"x",{}),!0}catch(r){return!1}},D=Object.defineProperty,H=Object.prototype,J=H.toString,K=H.__defineGetter__,L=H.__defineSetter__,Q=H.__lookupGetter__,W=H.__lookupSetter__;var X=D,Z=function(r,t,e){var n,i,a,o;if("object"!=typeof r||null===r||"[object Array]"===J.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof e||null===e||"[object Array]"===J.call(e))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+e+"`.");if((i="value"in e)&&(Q.call(r,t)||W.call(r,t)?(n=r.__proto__,r.__proto__=H,delete r[t],r[t]=e.value,r.__proto__=n):r[t]=e.value),a="get"in e,o="set"in e,i&&(a||o))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return a&&K&&K.call(r,t,e.get),o&&L&&L.call(r,t,e.set),r},$=B()?X:Z;var rr=function(r,t,e){$(r,t,{configurable:!1,enumerable:!1,writable:!1,value:e})};var tr=function(r){return"number"==typeof r},er=Number,nr=er.prototype.toString;var ir=s,ar=er,or=function(r){try{return nr.call(r),!0}catch(r){return!1}},ur=t();var lr=function(r){return"object"==typeof r&&(r instanceof ar||(ur?or(r):"[object Number]"===ir(r)))},fr=tr,cr=lr;var vr=rr,gr=function(r){return fr(r)||cr(r)},mr=lr;vr(gr,"isPrimitive",tr),vr(gr,"isObject",mr);var sr=gr,yr=er.NEGATIVE_INFINITY,pr=q;var br=h,hr=yr,wr=function(r){return pr(r)===r};var dr=function(r){return rhr&&wr(r)},_r=sr.isPrimitive,jr=dr;var Er=function(r){return _r(r)&&jr(r)},Or=sr.isObject,Pr=dr;var Sr=function(r){return Or(r)&&Pr(r.valueOf())},Tr=Er,Ar=Sr;var Fr=rr,Vr=function(r){return Tr(r)||Ar(r)},Ir=Sr;Fr(Vr,"isPrimitive",Er),Fr(Vr,"isObject",Ir);var xr=Vr.isPrimitive;var Nr=function(r){return xr(r)&&r>=0},Ur=Vr.isObject;var Rr=function(r){return Ur(r)&&r.valueOf()>=0},kr=Nr,Gr=Rr;var Mr=rr,Yr=function(r){return kr(r)||Gr(r)},Cr=Rr;Mr(Yr,"isPrimitive",Nr),Mr(Yr,"isObject",Cr);var qr=Yr;var zr=function(r){return"string"==typeof r},Br=String.prototype.valueOf;var Dr=s,Hr=function(r){try{return Br.call(r),!0}catch(r){return!1}},Jr=t();var Kr=function(r){return"object"==typeof r&&(r instanceof String||(Jr?Hr(r):"[object String]"===Dr(r)))},Lr=zr,Qr=Kr;var Wr=rr,Xr=function(r){return Lr(r)||Qr(r)},Zr=Kr;Wr(Xr,"isPrimitive",zr),Wr(Xr,"isObject",Zr);var $r=Xr,rt=qr.isPrimitive,tt=$r.isPrimitive;var et=function(r,t){var e,n;if(!tt(r))throw new TypeError("invalid argument. First argument must be a string. Value: `"+r+"`.");if(!rt(t))throw new TypeError("invalid argument. Second argument must be a nonnegative integer. Value: `"+t+"`.");if(0===r.length||0===t)return"";if(r.length*t>9007199254740991)throw new RangeError("invalid argument. Output string length exceeds maximum allowed string length.");for(e="",n=t;1==(1&n)&&(e+=r),0!==(n>>>=1);)r+=r;return e},nt=Math.ceil,it=qr.isPrimitive,at=$r.isPrimitive,ot=et,ut=nt;var lt=qr.isPrimitive,ft=$r.isPrimitive,ct=et,vt=nt;var gt=q;var mt=k,st=Y,yt=C,pt=q,bt=function(r,t,e){var n,i;if(!at(r))throw new TypeError("invalid argument. First argument must be a string. Value: `"+r+"`.");if(!it(t))throw new TypeError("invalid argument. Second argument must be a nonnegative integer. Value: `"+t+"`.");if(arguments.length>2){if(!at(i=e))throw new TypeError("invalid argument. Third argument must be a string. Value: `"+i+"`.");if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(t>9007199254740991)throw new RangeError("invalid argument. Output string length exceeds maximum allowed string length.");return(n=(t-r.length)/i.length)<=0?r:(n=ut(n),r+ot(i,n))},ht=function(r,t,e){var n,i;if(!ft(r))throw new TypeError("invalid argument. First argument must be a string. Value: `"+r+"`.");if(!lt(t))throw new TypeError("invalid argument. Second argument must be a nonnegative integer. Value: `"+t+"`.");if(arguments.length>2){if(!ft(i=e))throw new TypeError("invalid argument. Third argument must be a string. Value: `"+i+"`.");if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(t>9007199254740991)throw new RangeError("invalid argument. Output string length exceeds maximum allowed string length.");return(n=(t-r.length)/i.length)<=0?r:(n=vt(n),ct(i,n)+r)},wt=et,dt=function(r){for(var t,e="";r>0;)e=(t=r/2)===(r=gt(t))?"0"+e:"1"+e;return e},_t=function(r){var t,e,n,i;if(t="",0===r)return t;for(i=149,n=0;n<149&&((e=2*r)>=1?(r=e-1,t+="1",149===i&&(i=n)):(r=e,t+="0"),!(1===e||n-i>24));n++);return t};var jt=function(r){var t,e,n,i,a,o,u;if(e=r<0||1/r===st?"1":"0",r===mt||r===st)return e+(i=wt("1",8))+(n=wt("0",23));if(r!=r)return e+(i=wt("1",8))+(n="1"+wt("0",22));if(0===r)return e+(i=wt("0",8))+(n=wt("0",23));if(o=(r=yt(r))-(a=pt(r)),a=dt(a),o=_t(o),a)i=a.length-1;else{for(u=0;u\n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasSymbols = require( '@stdlib/assert-has-symbol-support' );\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `toStringTag` support.\n*\n* @module @stdlib/assert-has-tostringtag-support\n*\n* @example\n* var hasToStringTagSupport = require( '@stdlib/assert-has-tostringtag-support' );\n*\n* var bool = hasToStringTagSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasToStringTagSupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nmodule.exports = toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar toStr = require( './tostring.js' );\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nmodule.exports = nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has a specified property.\n*\n* @module @stdlib/assert-has-own-property\n*\n* @example\n* var hasOwnProp = require( '@stdlib/assert-has-own-property' );\n*\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* bool = hasOwnProp( beep, 'bop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasOwnProp = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nmodule.exports = toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( '@stdlib/assert-has-own-property' );\nvar toStringTag = require( './tostringtag.js' );\nvar toStr = require( './tostring.js' );\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nmodule.exports = nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* var nativeClass = require( '@stdlib/utils-native-class' );\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nvar hasToStringTag = require( '@stdlib/assert-has-tostringtag-support' );\nvar builtin = require( './native_class.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nmodule.exports = nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils-native-class' );\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Float32Array.\n*\n* @module @stdlib/assert-is-float32array\n*\n* @example\n* var isFloat32Array = require( '@stdlib/assert-is-float32array' );\n*\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* bool = isFloat32Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat32Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* var FLOAT64_PINF = require( '@stdlib/constants-float64-pinf' );\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFloat32Array = require( '@stdlib/assert-is-float32array' );\nvar PINF = require( '@stdlib/constants-float64-pinf' );\nvar GlobalFloat32Array = require( './float32array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* var ctor = require( '@stdlib/array-float32' );\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nvar hasFloat32ArraySupport = require( '@stdlib/assert-has-float32array-support' );\nvar builtin = require( './float32array.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils-native-class' );\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint32Array = require( '@stdlib/assert-is-uint32array' );\nvar UINT32_MAX = require( '@stdlib/constants-uint32-max' );\nvar GlobalUint32Array = require( './uint32array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* var ctor = require( '@stdlib/array-uint32' );\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nvar hasUint32ArraySupport = require( '@stdlib/assert-has-uint32array-support' );\nvar builtin = require( './uint32array.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* var FLOAT32_PINF = require( '@stdlib/constants-float32-pinf' );\n* // returns +infinity\n*/\n\n// MODULES //\n\nvar Float32Array = require( '@stdlib/array-float32' );\nvar Uint32Array = require( '@stdlib/array-uint32' );\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nmodule.exports = v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* var FLOAT32_NINF = require( '@stdlib/constants-float32-ninf' );\n* // returns -infinity\n*/\n\n// MODULES //\n\nvar Float32Array = require( '@stdlib/array-float32' );\nvar Uint32Array = require( '@stdlib/array-uint32' );\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nmodule.exports = v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nmodule.exports = abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Compute an absolute value of a double-precision floating-point number.\n*\n* @module @stdlib/math-base-special-abs\n*\n* @example\n* var abs = require( '@stdlib/math-base-special-abs' );\n*\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* v = abs( 2.0 );\n* // returns 2.0\n*\n* v = abs( 0.0 );\n* // returns 0.0\n*\n* v = abs( -0.0 );\n* // returns 0.0\n*\n* v = abs( NaN );\n* // returns NaN\n*/\n\n// MODULES //\n\nvar abs = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Round a double-precision floating-point number toward negative infinity.\n*\n* @module @stdlib/math-base-special-floor\n*\n* @example\n* var floor = require( '@stdlib/math-base-special-floor' );\n*\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* v = floor( 9.99999 );\n* // returns 9.0\n*\n* v = floor( 0.0 );\n* // returns 0.0\n*\n* v = floor( NaN );\n* // returns NaN\n*/\n\n// MODULES //\n\nvar floor = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nmodule.exports = floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar defineProperty = require( './define_property.js' );\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nmodule.exports = defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nmodule.exports = defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils-define-property' );\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nvar hasDefinePropertySupport = require( './has_define_property_support.js' );\nvar builtin = require( './builtin.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar defineProperty = require( '@stdlib/utils-define-property' );\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nmodule.exports = setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define a non-enumerable read-only property.\n*\n* @module @stdlib/utils-define-nonenumerable-read-only-property\n*\n* @example\n* var setNonEnumerableReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\n*\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\n\n// MODULES //\n\nvar setNonEnumerableReadOnly = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Constructor which returns a `Number` object.\n*\n* @module @stdlib/number-ctor\n*\n* @example\n* var Number = require( '@stdlib/number-ctor' );\n*\n* var v = new Number( 10.0 );\n* // returns \n*/\n\n// MODULES //\n\nvar Number = require( './number.js' );\n\n\n// EXPORTS //\n\nmodule.exports = Number;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nmodule.exports = Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar toString = require( './tostring.js' ); // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Number = require( '@stdlib/number-ctor' );\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( '@stdlib/assert-has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils-native-class' );\nvar Number = require( '@stdlib/number-ctor' );\nvar test = require( './try2serialize.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* var isNumber = require( '@stdlib/assert-is-number' );\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* var isNumber = require( '@stdlib/assert-is-number' ).isPrimitive;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* var isNumber = require( '@stdlib/assert-is-number' ).isObject;\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar isNumber = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* var FLOAT64_NINF = require( '@stdlib/constants-float64-ninf' );\n* // returns -Infinity\n*/\n\n// MODULES //\n\nvar Number = require( '@stdlib/number-ctor' );\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nmodule.exports = FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar floor = require( '@stdlib/math-base-special-floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar PINF = require( '@stdlib/constants-float64-pinf' );\nvar NINF = require( '@stdlib/constants-float64-ninf' );\nvar isInt = require( '@stdlib/math-base-assert-is-integer' );\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( '@stdlib/assert-is-number' ).isPrimitive;\nvar isInt = require( './integer.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( '@stdlib/assert-is-number' ).isObject;\nvar isInt = require( './integer.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* var isInteger = require( '@stdlib/assert-is-integer' );\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* var isInteger = require( '@stdlib/assert-is-integer' ).isPrimitive;\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* var isInteger = require( '@stdlib/assert-is-integer' ).isObject;\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar isInteger = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( '@stdlib/assert-is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( '@stdlib/assert-is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' );\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isPrimitive;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isObject;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar isNonNegativeInteger = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar valueOf = require( './valueof.js' ); // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( '@stdlib/assert-has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils-native-class' );\nvar test = require( './try2valueof.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* var isString = require( '@stdlib/assert-is-string' );\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* var isString = require( '@stdlib/assert-is-string' ).isObject;\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* var isString = require( '@stdlib/assert-is-string' ).isPrimitive;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar isString = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isPrimitive;\nvar isString = require( '@stdlib/assert-is-string' ).isPrimitive;\nvar FLOAT64_MAX_SAFE_INTEGER = require( '@stdlib/constants-float64-max-safe-integer' );\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string primitive\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be a string. Value: `' + str + '`.' );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( 'invalid argument. Second argument must be a nonnegative integer. Value: `' + n + '`.' );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( 'invalid argument. Output string length exceeds maximum allowed string length.' );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nmodule.exports = repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-repeat\n*\n* @example\n* var replace = require( '@stdlib/string-repeat' );\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nvar repeat = require( './repeat.js' );\n\n\n// EXPORTS //\n\nmodule.exports = repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nmodule.exports = ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isPrimitive;\nvar isString = require( '@stdlib/assert-is-string' ).isPrimitive;\nvar repeat = require( '@stdlib/string-repeat' );\nvar ceil = require( '@stdlib/math-base-special-ceil' );\nvar FLOAT64_MAX_SAFE_INTEGER = require( '@stdlib/constants-float64-max-safe-integer' );\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be a string. Value: `' + str + '`.' );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( 'invalid argument. Second argument must be a nonnegative integer. Value: `' + len + '`.' );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( 'invalid argument. Third argument must be a string. Value: `' + p + '`.' );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( 'invalid argument. Output string length exceeds maximum allowed string length.' );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nmodule.exports = rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isPrimitive;\nvar isString = require( '@stdlib/assert-is-string' ).isPrimitive;\nvar repeat = require( '@stdlib/string-repeat' );\nvar ceil = require( '@stdlib/math-base-special-ceil' );\nvar FLOAT64_MAX_SAFE_INTEGER = require( '@stdlib/constants-float64-max-safe-integer' );\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be a string. Value: `' + str + '`.' );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( 'invalid argument. Second argument must be a nonnegative integer. Value: `' + len + '`.' );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( 'invalid argument. Third argument must be a string. Value: `' + p + '`.' );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( 'invalid argument. Output string length exceeds maximum allowed string length.' );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nmodule.exports = lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar floor = require( '@stdlib/math-base-special-floor' );\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nmodule.exports = div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nmodule.exports = mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar PINF = require( '@stdlib/constants-float32-pinf' );\nvar NINF = require( '@stdlib/constants-float32-ninf' );\nvar BIAS = require( '@stdlib/constants-float32-exponent-bias' );\nvar abs = require( '@stdlib/math-base-special-abs' );\nvar floor = require( '@stdlib/math-base-special-floor' );\nvar rpad = require( '@stdlib/string-right-pad' );\nvar lpad = require( '@stdlib/string-left-pad' );\nvar repeat = require( '@stdlib/string-repeat' );\nvar div2 = require( './div2.js' );\nvar mult2 = require( './mult2.js' );\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' );\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' );\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' );\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' );\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* var PINF = require( '@stdlib/constants-float32-pinf' );\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* var NINF = require( '@stdlib/constants-float32-ninf' );\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nmodule.exports = toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @module @stdlib/number-float32-base-to-binary-string\n*\n* @example\n* var toBinaryStringf = require( '@stdlib/number-float32-base-to-binary-string' );\n* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' );\n*\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* str = toBinaryStringf( toFloat32( -1.0e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* var PINF = require( '@stdlib/constants-float32-pinf' );\n* str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* var NINF = require( '@stdlib/constants-float32-ninf' );\n* str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\n\n// MODULES //\n\nvar totoBinaryStringf = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = totoBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* var FLOAT32_EXPONENT_BIAS = require( '@stdlib/constants-float32-exponent-bias' );\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nmodule.exports = FLOAT32_EXPONENT_BIAS;\n"],"names":["FLG","Symbol","hasSymbols","lib","toStringTag","tostring","Object","prototype","toString","toStr","require$$0","native_class","v","call","has","hasOwnProperty","value","property","toStrTag","hasOwnProp","require$$2","polyfill","isOwn","tag","out","err","builtin","require$$1","nativeClass","hasFloat32Array","Float32Array","Number","POSITIVE_INFINITY","main","isFloat32Array","PINF","GlobalFloat32Array","Error","bool","arr","hasFloat32ArraySupport","hasUint32Array","Uint32Array","isUint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","x","Math","abs","floor","defineProperty","has_define_property_support","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","configurable","enumerable","writable","primitive","test","object","isPrimitive","isObject","setReadOnly","isNumber","require$$3","FLOAT64_NINF","NEGATIVE_INFINITY","NINF","isInt","integer","valueOf","isInteger","isNonNegativeInteger","String","isString","str","n","rpt","cnt","length","RangeError","ceil","repeat","require$$4","rpad","len","pad","p","arguments","lpad","require$$7","div2","y","mult2","i","j","nbits","sign","exp","f","NUM_SIGNIFICAND_BITS","BIAS","substring"],"mappings":";;AAyCA,ICdIA,EDIJ,WACC,MACmB,mBAAXC,QACoB,iBAApBA,OAAQ,OCPPC,GAqBV,ICTAC,EDEA,WACC,OAASH,GAAqC,iBAAvBC,OAAOG,aEf/BC,EALYC,OAAOC,UAAUC,SCAzBC,EAAQC,EAiCZ,IAAAC,EAPA,SAAsBC,GACrB,OAAOH,EAAMI,KAAMD,IC3BhBE,EAAMR,OAAOC,UAAUQ,eAyC3B,ICjBAZ,EDIA,SAAqBa,EAAOC,GAC3B,OACCD,MAAAA,GAKMF,EAAID,KAAMG,EAAOC,IEnCrBC,EAA+B,mBAAXjB,OAA0BA,OAAOG,YAAc,GCAnEe,EAAaT,EACbN,EDIac,ECHbT,EAAQW,EAwDZ,IAAAC,EA9BA,SAAsBT,GACrB,IAAIU,EACAC,EACAC,EAEJ,GAAKZ,MAAAA,EACJ,OAAOH,EAAMI,KAAMD,GAEpBW,EAAMX,EAAGR,GACTkB,EAAQH,EAAYP,EAAGR,GAGvB,IACCQ,EAAGR,QAAgB,EAClB,MAAQqB,GACT,OAAOhB,EAAMI,KAAMD,GASpB,OAPAY,EAAMf,EAAMI,KAAMD,GAEbU,EACJV,EAAGR,GAAgBmB,SAEZX,EAAGR,GAEJoB,GC9BJE,EAAUC,EACVN,EAAWD,EAefjB,EAjBqBO,IASNW,EAEAK,EChCXE,EAAclB,EAKdmB,EAA4C,mBAAjBC,aA6B/B,ICdA3B,EDIA,SAAyBa,GACxB,OACGa,GAAmBb,aAAiBc,cACb,0BAAzBF,EAAaZ,IEMfb,EALmB4B,OAAOC,kBC5BtBC,EAAiC,mBAAjBH,aAAgCA,aAAe,KCA/DI,EAAiBxB,EACjByB,EAAOR,EACPS,EDGaH,EESjB,ICDIP,ECbiC,mBAAjBI,aAAgCA,kBAAe,EDc/DT,EDPJ,WACC,MAAM,IAAIgB,MAAO,oBCqBlBlC,EFbA,WACC,IAAImC,EACAC,EAEJ,GAAmC,mBAAvBH,EACX,OAAO,EAGR,IACCG,EAAM,IAAIH,EAAoB,CAAE,EAAK,MAAO,KAAM,OAClDE,EACCJ,EAAgBK,IACH,IAAbA,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQJ,EAEb,MAAQV,GACTa,GAAO,EAER,OAAOA,EEhBHE,GACGd,EAEAL,EEvBJO,EAAclB,EAKd+B,EAA0C,mBAAhBC,YA6B9B,IClCIT,EAAgC,mBAAhBS,YAA+BA,YAAc,KCA7DC,EFwBJ,SAAwB3B,GACvB,OACGyB,GAAkBzB,aAAiB0B,aACZ,yBAAzBd,EAAaZ,IEzBX4B,EDGaX,EESjB,ICDIP,ECbgC,mBAAhBgB,YAA+BA,iBAAc,EDc7DrB,EDPJ,WACC,MAAM,IAAIgB,MAAO,oBCqBlBlC,EFbA,WACC,IAAImC,EACAC,EAEJ,GAAkC,mBAAtBK,EACX,OAAO,EAGR,IAECL,EAAM,IAAIK,EADVL,EAAM,CAAE,EAAG,MAAO,KAAMM,WAAcA,aAEtCP,EACCK,EAAeJ,IACF,IAAbA,EAAK,IACQ,IAAbA,EAAK,IACQM,aAAbN,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,GAEL,MAAQd,GACTa,GAAO,EAER,OAAOA,EElBHQ,GACGpB,EAEAL,EEXJqB,EAAcf,EAKdoB,EAAe,IANArC,EAMkB,GACnB,IAAIgC,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAA7C,EALI4C,EAAc,GCnCdL,EAAcf,EAKdoB,EAAe,IANArC,EAMkB,GACnB,IAAIgC,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAA7C,EALI4C,EAAc,GCdlB,ICJA5C,EDHA,SAAc8C,GACb,OAAOC,KAAKC,IAAKF,IEDlB9C,ECJY+C,KAAKE,MCtBbC,ECA0C,mBAA1B/C,OAAO+C,eAAkC/C,OAAO+C,eAAiB,KD4BrF,IAAAC,EAbA,WAEC,IAEC,OADAD,EAAgB,GAAI,IAAK,KAClB,EACN,MAAQ5B,GACT,OAAO,IEiBTC,EALqBpB,OAAO+C,eC/BxBE,EAAiBjD,OAAOC,UACxBE,EAAQ8C,EAAe/C,SACvBgD,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBAuFlC,IC3EIrC,EAAUC,EACVN,EDuBJ,SAAyB2C,EAAKC,EAAMC,GACnC,IAAI3D,EACA4D,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBvD,EAAMI,KAAMmD,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7BzD,EAAMI,KAAMqD,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBN,EAAa/C,KAAMmD,EAAKC,IACxBH,EAAajD,KAAMmD,EAAKC,IAGxB1D,EAAYyD,EAAIO,UAChBP,EAAIO,UAAYhB,SAGTS,EAAKC,GACZD,EAAKC,GAASC,EAAWlD,MAGzBgD,EAAIO,UAAYhE,GAEhByD,EAAKC,GAASC,EAAWlD,OAG3BoD,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAIhC,MAAO,wHASlB,OANK+B,GAAUZ,GACdA,EAAa3C,KAAMmD,EAAKC,EAAMC,EAAWM,KAErCH,GAAUX,GACdA,EAAa7C,KAAMmD,EAAKC,EAAMC,EAAWO,KAEnCT,GExFJX,EDkB2B3C,IASbgB,EAEAL,ECMlB,ICXAlB,GDDA,SAAmC6D,EAAKC,EAAMjD,GAC7CqC,EAAgBW,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZ5D,MAASA,KELX,IAAA6D,GAPA,SAAmB7D,GAClB,MAA0B,iBAAVA,GCAjBb,GCjBiB4B,OCAbvB,GCASE,GAMSH,UAAUC,SDkBhC,IEvBIoB,GAAcD,EACdI,GAASX,GACT0D,GFSJ,SAAe9D,GACd,IAEC,OADAR,GAASK,KAAMG,IACR,EACN,MAAQS,GACT,OAAO,IETLzB,GARiBU,IA2CrB,IAAAqE,GAhBA,SAAmB/D,GAClB,MAAsB,iBAAVA,IACNA,aAAiBe,KAGjB/B,GACG8E,GAAM9D,GAEoB,oBAAzBY,GAAaZ,MCnCpBgE,GAActE,GACduE,GAAWtD,GAkCf,ICOAuD,GAAAxE,GACAyE,GDfA,SAAmBnE,GAClB,OAASgE,GAAahE,IAAWiE,GAAUjE,ICgB5CiE,GAAAG,GAKAF,GAAAC,GAAA,cANA/D,IAOA8D,GAAAC,GAAA,WAAAF,IAKA,IAAA9E,GAAAgF,GCxBIE,GArBS3E,GAqBa4E,kBChCtBlC,GAAQ1C,EA0BZ,IC1BIyB,GAAOzB,EACP6E,GFoCaF,GEnCbG,GDiBJ,SAAoBvC,GACnB,OAAQG,GAAMH,KAAOA,GCKtB,IAAAwC,GAXA,SAAoBzE,GACnB,OACCA,EAAQmB,IACRnB,EAAQuE,IACRC,GAAOxE,IClBLmE,GAAWzE,GAAsCsE,YACjDQ,GAAQ7D,GA6BZ,IAAAkD,GAVA,SAAoB7D,GACnB,OACCmE,GAAUnE,IACVwE,GAAOxE,ICvBLmE,GAAWzE,GAAsCuE,SACjDO,GAAQ7D,GA6BZ,IAAAoD,GAVA,SAAoB/D,GACnB,OACCmE,GAAUnE,IACVwE,GAAOxE,EAAM0E,YCvBXV,GAActE,GACduE,GAAWtD,GAkCf,ICMAuD,GAAAxE,GACAiF,GDdA,SAAoB3E,GACnB,OAASgE,GAAahE,IAAWiE,GAAUjE,ICe5CiE,GAAAG,GAKAF,GAAAS,GAAA,cANAvE,IAOA8D,GAAAS,GAAA,WAAAV,IAKA,ICvDIU,GDuDJA,GCvDuDX,YA6BvD,IAAAH,GAVA,SAA+B7D,GAC9B,OACC2E,GAAW3E,IACXA,GAAS,GCtBP2E,GFuDJA,GEvDuDV,SA6BvD,IAAAF,GAVA,SAA+B/D,GAC9B,OACC2E,GAAW3E,IACXA,EAAM0E,WAAa,GCtBjBV,GAActE,GACduE,GAAWtD,GAsCf,ICGAuD,GAAAxE,GACAkF,GDXA,SAA+B5E,GAC9B,OAASgE,GAAahE,IAAWiE,GAAUjE,ICY5CiE,GAAAG,GAKAF,GAAAU,GAAA,cANAxE,IAOA8D,GAAAU,GAAA,WAAAX,IAKA,IAAA9E,GAAAyF,GCrCA,IAAAf,GAPA,SAAmB7D,GAClB,MAA0B,iBAAVA,GCbb0E,GCDUG,OAAOtF,UAAUmF,QDyB/B,IEvBI9D,GAAcD,EACdmD,GFUJ,SAAe9D,GACd,IAEC,OADA0E,GAAQ7E,KAAMG,IACP,EACN,MAAQS,GACT,OAAO,IEVLzB,GAPiBU,IA0CrB,IAAAqE,GAhBA,SAAmB/D,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6E,SAGjB7F,GACG8E,GAAM9D,GAEoB,oBAAzBY,GAAaZ,MClCpBgE,GAActE,GACduE,GAAWtD,GA0Bf,ICSAuD,GAAAxE,GACAoF,GDjBA,SAAmB9E,GAClB,OAASgE,GAAahE,IAAWiE,GAAUjE,ICkB5CiE,GAAAG,GAKAF,GAAAY,GAAA,cANA1E,IAOA8D,GAAAY,GAAA,WAAAb,IAKA,IAAA9E,GAAA2F,GClDIF,GAAuBlF,GAAmDsE,YAC1Ec,GAAWnE,GAAsCqD,YAwGrD,IClFA7E,GD6CA,SAAiB4F,EAAKC,GACrB,IAAIC,EACAC,EACJ,IAAMJ,GAAUC,GACf,MAAM,IAAIzB,UAAW,8DAAgEyB,EAAM,MAE5F,IAAMH,GAAsBI,GAC3B,MAAM,IAAI1B,UAAW,4EAA8E0B,EAAI,MAExG,GAAoB,IAAfD,EAAII,QAAsB,IAANH,EACxB,MAAO,GAGR,GAAKD,EAAII,OAASH,EA/EY5E,iBAgF7B,MAAM,IAAIgF,WAAY,iFAIvB,IAFAH,EAAM,GACNC,EAAMF,EAGY,IAAP,EAAJE,KACLD,GAAOF,GAIK,KADbG,KAAS,IAKTH,GAAOA,EAER,OAAOE,GE7EJI,GAAOnD,KAAKmD,KCtBZT,GAAuBlF,GAAmDsE,YAC1Ec,GAAWnE,GAAsCqD,YACjDsB,GAASlF,GACTiF,GDwBaA,GCwCjB,ICnEIT,GAAuBlF,GAAmDsE,YAC1Ec,GAAWnE,GAAsCqD,YACjDsB,GAASlF,GACTiF,GFwBaA,GEwCjB,ICnEIjD,GAAQ1C,EC0DZ,IC1DIyB,GAAOzB,EACP6E,GAAO5D,EAEPwB,GAAMiC,EACNhC,GAAQmD,EACRC,GJ4BJ,SAAeT,EAAKU,EAAKC,GACxB,IAAIV,EACAW,EACJ,IAAMb,GAAUC,GACf,MAAM,IAAIzB,UAAW,8DAAgEyB,EAAM,MAE5F,IAAMH,GAAsBa,GAC3B,MAAM,IAAInC,UAAW,4EAA8EmC,EAAM,MAE1G,GAAKG,UAAUT,OAAS,EAAI,CAE3B,IAAML,GADNa,EAAID,GAEH,MAAM,IAAIpC,UAAW,8DAAgEqC,EAAI,MAE1F,GAAkB,IAAbA,EAAER,OACN,MAAM,IAAIC,WAAY,kEAGvBO,EAAI,IAEL,GAAKF,EAjDyBF,iBAkD7B,MAAM,IAAIH,WAAY,iFAGvB,OADAJ,GAAMS,EAAMV,EAAII,QAAWQ,EAAER,SACnB,EACFJ,GAERC,EAAIK,GAAML,GACHD,EAAMO,GAAQK,EAAGX,KIvDrBa,GH2BJ,SAAed,EAAKU,EAAKC,GACxB,IAAIV,EACAW,EACJ,IAAMb,GAAUC,GACf,MAAM,IAAIzB,UAAW,8DAAgEyB,EAAM,MAE5F,IAAMH,GAAsBa,GAC3B,MAAM,IAAInC,UAAW,4EAA8EmC,EAAM,MAE1G,GAAKG,UAAUT,OAAS,EAAI,CAE3B,IAAML,GADNa,EAAID,GAEH,MAAM,IAAIpC,UAAW,8DAAgEqC,EAAI,MAE1F,GAAkB,IAAbA,EAAER,OACN,MAAM,IAAIC,WAAY,sEAGvBO,EAAI,IAEL,GAAKF,EAjDyBF,iBAkD7B,MAAM,IAAIH,WAAY,iFAGvB,OADAJ,GAAMS,EAAMV,EAAII,QAAWQ,EAAER,SACnB,EACFJ,GAERC,EAAIK,GAAML,GACHM,GAAQK,EAAGX,GAAMD,IGtDrBO,GAASQ,GACTC,GFoBJ,SAAe9D,GAKd,IAJA,IACI+D,EADAjB,EAAM,GAIF9C,EAAI,GAIV8C,GAHDiB,EAAI/D,EAAI,MACRA,EAAIG,GAAO4D,IAEJ,IAAMjB,EAEN,IAAMA,EAGd,OAAOA,GEjCJkB,GDYJ,SAAgBhE,GACf,IAAI8C,EACAiB,EACAE,EACAC,EAGJ,GADApB,EAAM,GACK,IAAN9C,EACJ,OAAO8C,EAKR,IAHAoB,EA/Bc,IAkCRD,EAAI,EAAGA,EAlCC,OAmCbF,EAAQ,EAAJ/D,IACM,GACTA,EAAI+D,EAAI,EACRjB,GAAO,IAtCK,MAuCPoB,IACJA,EAAID,KAGLjE,EAAI+D,EACJjB,GAAO,OAGG,IAANiB,GAAaE,EAAEC,EA9CP,KAiCaD,KAkB3B,OAAOnB,GCgHR,ICrHA5F,GD0BA,SAA0B8C,GACzB,IAAImE,EACAC,EACAtB,EACAuB,EACAtB,EACAuB,EACAL,EASJ,GALCG,EADIpE,EAAI,GAAO,EAAIA,IAAMsC,GAClB,IAEA,IAGHtC,IAAMd,IAAQc,IAAMsC,GAIxB,OAAO8B,GAFPC,EAAMhB,GAAQ,IA3EQ,KA4EtBP,EAAMO,GAAQ,IA7EW,KAiF1B,GAAKrD,GAAMA,EAIV,OAAOoE,GAFPC,EAAMhB,GAAQ,IAlFQ,KAmFtBP,EAAM,IAAMO,GAAQ,IAAKkB,KAI1B,GAAW,IAANvE,EAIJ,OAAOoE,GAFPC,EAAMhB,GAAQ,IAzFQ,KA0FtBP,EAAMO,GAAQ,IA3FW,KA2G1B,GAPAiB,GANAtE,EAAIE,GAAKF,KAGT+C,EAAI5C,GAAOH,IAMX+C,EAAIe,GAAMf,GACVuB,EAAIN,GAAOM,GAGNvB,EAEJsB,EAAMtB,EAAEG,OAAS,MACX,CAEN,IAAMe,EAAI,EAAGA,EAAIK,EAAEpB,OAAQe,IAC1B,GAAgB,MAAXK,EAAGL,GAAc,CACrBE,EAAQF,EAAI,EACZ,MAIFI,GAAOF,EAwBR,OArBArB,EAAMC,EAAIuB,EACLD,EAAM,GAELA,IE9GqB,MFgHzBF,EAAQK,KAGT1B,EAAMA,EAAI2B,UAAWN,IAGrBrB,EAAMA,EAAI2B,UAAW,GAGtBJ,EAAMP,GAAMO,EEzHe,KFgIpBD,GANPC,EAAMT,GAAMS,EAxIW,EAwIa,OAGpCvB,EAAMS,GAAMT,EA5Ic,GA4Ia,KAAM2B,UAAW,EA5I9B"} \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..f6745ab --- /dev/null +++ b/package.json @@ -0,0 +1,41 @@ +{ + "name": "@stdlib/number-float32-base-to-binary-string", + "version": "0.0.0", + "description": "Return a string giving the literal bit representation of a single-precision floating-point number.", + "license": "Apache-2.0", + "type": "module", + "main": "./mod.js", + "homepage": "https://stdlib.io", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/number-float32-base-to-binary-string.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "keywords": [ + "stdlib", + "stdtypes", + "base", + "utilities", + "utility", + "utils", + "util", + "types", + "type", + "number", + "binary", + "bin", + "bits", + "float32", + "single", + "float", + "floating-point", + "tostring", + "string" + ], + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/athan" + } +} From 76fa30b19b1bde02e06dc8b28cfadda839905258 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 30 Jun 2022 22:37:46 +0000 Subject: [PATCH 002/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index a7454fb..bdeaf59 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.0.x", "@stdlib/string-left-pad": "^0.0.x", "@stdlib/string-repeat": "^0.0.x", - "@stdlib/string-right-pad": "^0.0.x" + "@stdlib/string-right-pad": "^0.0.x", + "@stdlib/error-tools-fmtprodmsg": "^0.0.x" }, "devDependencies": { "@stdlib/assert-is-string": "^0.0.x", @@ -98,4 +99,4 @@ "type": "patreon", "url": "https://www.patreon.com/athan" } -} +} \ No newline at end of file From 530a4b8577957320faf6896eb9058d78258ed07f Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Fri, 1 Jul 2022 03:58:43 +0000 Subject: [PATCH 003/146] Remove files --- mod.d.ts | 78 ------------------------------------------------------ mod.js | 4 --- mod.js.map | 1 - 3 files changed, 83 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 1881a26..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 2.0 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 7d15534..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2022 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r=function(){return"function"==typeof Symbol&&"symbol"==typeof Symbol("foo")}();var t=function(){return r&&"symbol"==typeof Symbol.toStringTag},e=Object.prototype.toString,n=e;var i=function(r){return n.call(r)},a=Object.prototype.hasOwnProperty;var o=function(r,t){return null!=r&&a.call(r,t)},u="function"==typeof Symbol?Symbol.toStringTag:"",l=o,f=u,c=e;var v=function(r){var t,e,n;if(null==r)return c.call(r);e=r[f],t=l(r,f);try{r[f]=void 0}catch(t){return c.call(r)}return n=c.call(r),t?r[f]=e:delete r[f],n},g=i,m=v,s=t()?m:g,y=s,p="function"==typeof Float32Array;var b=function(r){return p&&r instanceof Float32Array||"[object Float32Array]"===y(r)},h=Number.POSITIVE_INFINITY,w="function"==typeof Float32Array?Float32Array:null,d=b,_=h,j=w;var E="function"==typeof Float32Array?Float32Array:void 0,O=function(){throw new Error("not implemented")},P=function(){var r,t;if("function"!=typeof j)return!1;try{t=new j([1,3.14,-3.14,5e40]),r=d(t)&&1===t[0]&&3.140000104904175===t[1]&&-3.140000104904175===t[2]&&t[3]===_}catch(t){r=!1}return r}()?E:O,S=s,T="function"==typeof Uint32Array;var A="function"==typeof Uint32Array?Uint32Array:null,F=function(r){return T&&r instanceof Uint32Array||"[object Uint32Array]"===S(r)},V=A;var I="function"==typeof Uint32Array?Uint32Array:void 0,x=function(){throw new Error("not implemented")},N=function(){var r,t;if("function"!=typeof V)return!1;try{t=new V(t=[1,3.14,-3.14,4294967296,4294967297]),r=F(t)&&1===t[0]&&3===t[1]&&4294967293===t[2]&&0===t[3]&&1===t[4]}catch(t){r=!1}return r}()?I:x,U=N,R=new P(1);new U(R.buffer)[0]=2139095040;var k=R[0],G=N,M=new P(1);new G(M.buffer)[0]=4286578688;var Y=M[0];var C=function(r){return Math.abs(r)},q=Math.floor,z="function"==typeof Object.defineProperty?Object.defineProperty:null;var B=function(){try{return z({},"x",{}),!0}catch(r){return!1}},D=Object.defineProperty,H=Object.prototype,J=H.toString,K=H.__defineGetter__,L=H.__defineSetter__,Q=H.__lookupGetter__,W=H.__lookupSetter__;var X=D,Z=function(r,t,e){var n,i,a,o;if("object"!=typeof r||null===r||"[object Array]"===J.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof e||null===e||"[object Array]"===J.call(e))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+e+"`.");if((i="value"in e)&&(Q.call(r,t)||W.call(r,t)?(n=r.__proto__,r.__proto__=H,delete r[t],r[t]=e.value,r.__proto__=n):r[t]=e.value),a="get"in e,o="set"in e,i&&(a||o))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return a&&K&&K.call(r,t,e.get),o&&L&&L.call(r,t,e.set),r},$=B()?X:Z;var rr=function(r,t,e){$(r,t,{configurable:!1,enumerable:!1,writable:!1,value:e})};var tr=function(r){return"number"==typeof r},er=Number,nr=er.prototype.toString;var ir=s,ar=er,or=function(r){try{return nr.call(r),!0}catch(r){return!1}},ur=t();var lr=function(r){return"object"==typeof r&&(r instanceof ar||(ur?or(r):"[object Number]"===ir(r)))},fr=tr,cr=lr;var vr=rr,gr=function(r){return fr(r)||cr(r)},mr=lr;vr(gr,"isPrimitive",tr),vr(gr,"isObject",mr);var sr=gr,yr=er.NEGATIVE_INFINITY,pr=q;var br=h,hr=yr,wr=function(r){return pr(r)===r};var dr=function(r){return rhr&&wr(r)},_r=sr.isPrimitive,jr=dr;var Er=function(r){return _r(r)&&jr(r)},Or=sr.isObject,Pr=dr;var Sr=function(r){return Or(r)&&Pr(r.valueOf())},Tr=Er,Ar=Sr;var Fr=rr,Vr=function(r){return Tr(r)||Ar(r)},Ir=Sr;Fr(Vr,"isPrimitive",Er),Fr(Vr,"isObject",Ir);var xr=Vr.isPrimitive;var Nr=function(r){return xr(r)&&r>=0},Ur=Vr.isObject;var Rr=function(r){return Ur(r)&&r.valueOf()>=0},kr=Nr,Gr=Rr;var Mr=rr,Yr=function(r){return kr(r)||Gr(r)},Cr=Rr;Mr(Yr,"isPrimitive",Nr),Mr(Yr,"isObject",Cr);var qr=Yr;var zr=function(r){return"string"==typeof r},Br=String.prototype.valueOf;var Dr=s,Hr=function(r){try{return Br.call(r),!0}catch(r){return!1}},Jr=t();var Kr=function(r){return"object"==typeof r&&(r instanceof String||(Jr?Hr(r):"[object String]"===Dr(r)))},Lr=zr,Qr=Kr;var Wr=rr,Xr=function(r){return Lr(r)||Qr(r)},Zr=Kr;Wr(Xr,"isPrimitive",zr),Wr(Xr,"isObject",Zr);var $r=Xr,rt=qr.isPrimitive,tt=$r.isPrimitive;var et=function(r,t){var e,n;if(!tt(r))throw new TypeError("invalid argument. First argument must be a string. Value: `"+r+"`.");if(!rt(t))throw new TypeError("invalid argument. Second argument must be a nonnegative integer. Value: `"+t+"`.");if(0===r.length||0===t)return"";if(r.length*t>9007199254740991)throw new RangeError("invalid argument. Output string length exceeds maximum allowed string length.");for(e="",n=t;1==(1&n)&&(e+=r),0!==(n>>>=1);)r+=r;return e},nt=Math.ceil,it=qr.isPrimitive,at=$r.isPrimitive,ot=et,ut=nt;var lt=qr.isPrimitive,ft=$r.isPrimitive,ct=et,vt=nt;var gt=q;var mt=k,st=Y,yt=C,pt=q,bt=function(r,t,e){var n,i;if(!at(r))throw new TypeError("invalid argument. First argument must be a string. Value: `"+r+"`.");if(!it(t))throw new TypeError("invalid argument. Second argument must be a nonnegative integer. Value: `"+t+"`.");if(arguments.length>2){if(!at(i=e))throw new TypeError("invalid argument. Third argument must be a string. Value: `"+i+"`.");if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(t>9007199254740991)throw new RangeError("invalid argument. Output string length exceeds maximum allowed string length.");return(n=(t-r.length)/i.length)<=0?r:(n=ut(n),r+ot(i,n))},ht=function(r,t,e){var n,i;if(!ft(r))throw new TypeError("invalid argument. First argument must be a string. Value: `"+r+"`.");if(!lt(t))throw new TypeError("invalid argument. Second argument must be a nonnegative integer. Value: `"+t+"`.");if(arguments.length>2){if(!ft(i=e))throw new TypeError("invalid argument. Third argument must be a string. Value: `"+i+"`.");if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(t>9007199254740991)throw new RangeError("invalid argument. Output string length exceeds maximum allowed string length.");return(n=(t-r.length)/i.length)<=0?r:(n=vt(n),ct(i,n)+r)},wt=et,dt=function(r){for(var t,e="";r>0;)e=(t=r/2)===(r=gt(t))?"0"+e:"1"+e;return e},_t=function(r){var t,e,n,i;if(t="",0===r)return t;for(i=149,n=0;n<149&&((e=2*r)>=1?(r=e-1,t+="1",149===i&&(i=n)):(r=e,t+="0"),!(1===e||n-i>24));n++);return t};var jt=function(r){var t,e,n,i,a,o,u;if(e=r<0||1/r===st?"1":"0",r===mt||r===st)return e+(i=wt("1",8))+(n=wt("0",23));if(r!=r)return e+(i=wt("1",8))+(n="1"+wt("0",22));if(0===r)return e+(i=wt("0",8))+(n=wt("0",23));if(o=(r=yt(r))-(a=pt(r)),a=dt(a),o=_t(o),a)i=a.length-1;else{for(u=0;u\n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasSymbols = require( '@stdlib/assert-has-symbol-support' );\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `toStringTag` support.\n*\n* @module @stdlib/assert-has-tostringtag-support\n*\n* @example\n* var hasToStringTagSupport = require( '@stdlib/assert-has-tostringtag-support' );\n*\n* var bool = hasToStringTagSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasToStringTagSupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nmodule.exports = toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar toStr = require( './tostring.js' );\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nmodule.exports = nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has a specified property.\n*\n* @module @stdlib/assert-has-own-property\n*\n* @example\n* var hasOwnProp = require( '@stdlib/assert-has-own-property' );\n*\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* bool = hasOwnProp( beep, 'bop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasOwnProp = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nmodule.exports = toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( '@stdlib/assert-has-own-property' );\nvar toStringTag = require( './tostringtag.js' );\nvar toStr = require( './tostring.js' );\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nmodule.exports = nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* var nativeClass = require( '@stdlib/utils-native-class' );\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nvar hasToStringTag = require( '@stdlib/assert-has-tostringtag-support' );\nvar builtin = require( './native_class.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nmodule.exports = nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils-native-class' );\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Float32Array.\n*\n* @module @stdlib/assert-is-float32array\n*\n* @example\n* var isFloat32Array = require( '@stdlib/assert-is-float32array' );\n*\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* bool = isFloat32Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat32Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* var FLOAT64_PINF = require( '@stdlib/constants-float64-pinf' );\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFloat32Array = require( '@stdlib/assert-is-float32array' );\nvar PINF = require( '@stdlib/constants-float64-pinf' );\nvar GlobalFloat32Array = require( './float32array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* var ctor = require( '@stdlib/array-float32' );\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nvar hasFloat32ArraySupport = require( '@stdlib/assert-has-float32array-support' );\nvar builtin = require( './float32array.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils-native-class' );\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint32Array = require( '@stdlib/assert-is-uint32array' );\nvar UINT32_MAX = require( '@stdlib/constants-uint32-max' );\nvar GlobalUint32Array = require( './uint32array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* var ctor = require( '@stdlib/array-uint32' );\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nvar hasUint32ArraySupport = require( '@stdlib/assert-has-uint32array-support' );\nvar builtin = require( './uint32array.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* var FLOAT32_PINF = require( '@stdlib/constants-float32-pinf' );\n* // returns +infinity\n*/\n\n// MODULES //\n\nvar Float32Array = require( '@stdlib/array-float32' );\nvar Uint32Array = require( '@stdlib/array-uint32' );\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nmodule.exports = v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* var FLOAT32_NINF = require( '@stdlib/constants-float32-ninf' );\n* // returns -infinity\n*/\n\n// MODULES //\n\nvar Float32Array = require( '@stdlib/array-float32' );\nvar Uint32Array = require( '@stdlib/array-uint32' );\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nmodule.exports = v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nmodule.exports = abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Compute an absolute value of a double-precision floating-point number.\n*\n* @module @stdlib/math-base-special-abs\n*\n* @example\n* var abs = require( '@stdlib/math-base-special-abs' );\n*\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* v = abs( 2.0 );\n* // returns 2.0\n*\n* v = abs( 0.0 );\n* // returns 0.0\n*\n* v = abs( -0.0 );\n* // returns 0.0\n*\n* v = abs( NaN );\n* // returns NaN\n*/\n\n// MODULES //\n\nvar abs = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Round a double-precision floating-point number toward negative infinity.\n*\n* @module @stdlib/math-base-special-floor\n*\n* @example\n* var floor = require( '@stdlib/math-base-special-floor' );\n*\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* v = floor( 9.99999 );\n* // returns 9.0\n*\n* v = floor( 0.0 );\n* // returns 0.0\n*\n* v = floor( NaN );\n* // returns NaN\n*/\n\n// MODULES //\n\nvar floor = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nmodule.exports = floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar defineProperty = require( './define_property.js' );\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nmodule.exports = defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nmodule.exports = defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils-define-property' );\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nvar hasDefinePropertySupport = require( './has_define_property_support.js' );\nvar builtin = require( './builtin.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar defineProperty = require( '@stdlib/utils-define-property' );\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nmodule.exports = setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define a non-enumerable read-only property.\n*\n* @module @stdlib/utils-define-nonenumerable-read-only-property\n*\n* @example\n* var setNonEnumerableReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\n*\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\n\n// MODULES //\n\nvar setNonEnumerableReadOnly = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Constructor which returns a `Number` object.\n*\n* @module @stdlib/number-ctor\n*\n* @example\n* var Number = require( '@stdlib/number-ctor' );\n*\n* var v = new Number( 10.0 );\n* // returns \n*/\n\n// MODULES //\n\nvar Number = require( './number.js' );\n\n\n// EXPORTS //\n\nmodule.exports = Number;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nmodule.exports = Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar toString = require( './tostring.js' ); // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Number = require( '@stdlib/number-ctor' );\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( '@stdlib/assert-has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils-native-class' );\nvar Number = require( '@stdlib/number-ctor' );\nvar test = require( './try2serialize.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* var isNumber = require( '@stdlib/assert-is-number' );\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* var isNumber = require( '@stdlib/assert-is-number' ).isPrimitive;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* var isNumber = require( '@stdlib/assert-is-number' ).isObject;\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar isNumber = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* var FLOAT64_NINF = require( '@stdlib/constants-float64-ninf' );\n* // returns -Infinity\n*/\n\n// MODULES //\n\nvar Number = require( '@stdlib/number-ctor' );\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nmodule.exports = FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar floor = require( '@stdlib/math-base-special-floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar PINF = require( '@stdlib/constants-float64-pinf' );\nvar NINF = require( '@stdlib/constants-float64-ninf' );\nvar isInt = require( '@stdlib/math-base-assert-is-integer' );\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( '@stdlib/assert-is-number' ).isPrimitive;\nvar isInt = require( './integer.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( '@stdlib/assert-is-number' ).isObject;\nvar isInt = require( './integer.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* var isInteger = require( '@stdlib/assert-is-integer' );\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* var isInteger = require( '@stdlib/assert-is-integer' ).isPrimitive;\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* var isInteger = require( '@stdlib/assert-is-integer' ).isObject;\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar isInteger = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( '@stdlib/assert-is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( '@stdlib/assert-is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' );\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isPrimitive;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isObject;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar isNonNegativeInteger = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar valueOf = require( './valueof.js' ); // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( '@stdlib/assert-has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils-native-class' );\nvar test = require( './try2valueof.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* var isString = require( '@stdlib/assert-is-string' );\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* var isString = require( '@stdlib/assert-is-string' ).isObject;\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* var isString = require( '@stdlib/assert-is-string' ).isPrimitive;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar isString = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isPrimitive;\nvar isString = require( '@stdlib/assert-is-string' ).isPrimitive;\nvar FLOAT64_MAX_SAFE_INTEGER = require( '@stdlib/constants-float64-max-safe-integer' );\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string primitive\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be a string. Value: `' + str + '`.' );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( 'invalid argument. Second argument must be a nonnegative integer. Value: `' + n + '`.' );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( 'invalid argument. Output string length exceeds maximum allowed string length.' );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nmodule.exports = repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-repeat\n*\n* @example\n* var replace = require( '@stdlib/string-repeat' );\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nvar repeat = require( './repeat.js' );\n\n\n// EXPORTS //\n\nmodule.exports = repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nmodule.exports = ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isPrimitive;\nvar isString = require( '@stdlib/assert-is-string' ).isPrimitive;\nvar repeat = require( '@stdlib/string-repeat' );\nvar ceil = require( '@stdlib/math-base-special-ceil' );\nvar FLOAT64_MAX_SAFE_INTEGER = require( '@stdlib/constants-float64-max-safe-integer' );\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be a string. Value: `' + str + '`.' );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( 'invalid argument. Second argument must be a nonnegative integer. Value: `' + len + '`.' );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( 'invalid argument. Third argument must be a string. Value: `' + p + '`.' );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( 'invalid argument. Output string length exceeds maximum allowed string length.' );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nmodule.exports = rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isPrimitive;\nvar isString = require( '@stdlib/assert-is-string' ).isPrimitive;\nvar repeat = require( '@stdlib/string-repeat' );\nvar ceil = require( '@stdlib/math-base-special-ceil' );\nvar FLOAT64_MAX_SAFE_INTEGER = require( '@stdlib/constants-float64-max-safe-integer' );\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be a string. Value: `' + str + '`.' );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( 'invalid argument. Second argument must be a nonnegative integer. Value: `' + len + '`.' );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( 'invalid argument. Third argument must be a string. Value: `' + p + '`.' );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( 'invalid argument. Output string length exceeds maximum allowed string length.' );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nmodule.exports = lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar floor = require( '@stdlib/math-base-special-floor' );\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nmodule.exports = div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nmodule.exports = mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar PINF = require( '@stdlib/constants-float32-pinf' );\nvar NINF = require( '@stdlib/constants-float32-ninf' );\nvar BIAS = require( '@stdlib/constants-float32-exponent-bias' );\nvar abs = require( '@stdlib/math-base-special-abs' );\nvar floor = require( '@stdlib/math-base-special-floor' );\nvar rpad = require( '@stdlib/string-right-pad' );\nvar lpad = require( '@stdlib/string-left-pad' );\nvar repeat = require( '@stdlib/string-repeat' );\nvar div2 = require( './div2.js' );\nvar mult2 = require( './mult2.js' );\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' );\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' );\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' );\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' );\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* var PINF = require( '@stdlib/constants-float32-pinf' );\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* var NINF = require( '@stdlib/constants-float32-ninf' );\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nmodule.exports = toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @module @stdlib/number-float32-base-to-binary-string\n*\n* @example\n* var toBinaryStringf = require( '@stdlib/number-float32-base-to-binary-string' );\n* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' );\n*\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* str = toBinaryStringf( toFloat32( -1.0e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* var PINF = require( '@stdlib/constants-float32-pinf' );\n* str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* var NINF = require( '@stdlib/constants-float32-ninf' );\n* str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\n\n// MODULES //\n\nvar totoBinaryStringf = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = totoBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* var FLOAT32_EXPONENT_BIAS = require( '@stdlib/constants-float32-exponent-bias' );\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nmodule.exports = FLOAT32_EXPONENT_BIAS;\n"],"names":["FLG","Symbol","hasSymbols","lib","toStringTag","tostring","Object","prototype","toString","toStr","require$$0","native_class","v","call","has","hasOwnProperty","value","property","toStrTag","hasOwnProp","require$$2","polyfill","isOwn","tag","out","err","builtin","require$$1","nativeClass","hasFloat32Array","Float32Array","Number","POSITIVE_INFINITY","main","isFloat32Array","PINF","GlobalFloat32Array","Error","bool","arr","hasFloat32ArraySupport","hasUint32Array","Uint32Array","isUint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","x","Math","abs","floor","defineProperty","has_define_property_support","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","configurable","enumerable","writable","primitive","test","object","isPrimitive","isObject","setReadOnly","isNumber","require$$3","FLOAT64_NINF","NEGATIVE_INFINITY","NINF","isInt","integer","valueOf","isInteger","isNonNegativeInteger","String","isString","str","n","rpt","cnt","length","RangeError","ceil","repeat","require$$4","rpad","len","pad","p","arguments","lpad","require$$7","div2","y","mult2","i","j","nbits","sign","exp","f","NUM_SIGNIFICAND_BITS","BIAS","substring"],"mappings":";;AAyCA,ICdIA,EDIJ,WACC,MACmB,mBAAXC,QACoB,iBAApBA,OAAQ,OCPPC,GAqBV,ICTAC,EDEA,WACC,OAASH,GAAqC,iBAAvBC,OAAOG,aEf/BC,EALYC,OAAOC,UAAUC,SCAzBC,EAAQC,EAiCZ,IAAAC,EAPA,SAAsBC,GACrB,OAAOH,EAAMI,KAAMD,IC3BhBE,EAAMR,OAAOC,UAAUQ,eAyC3B,ICjBAZ,EDIA,SAAqBa,EAAOC,GAC3B,OACCD,MAAAA,GAKMF,EAAID,KAAMG,EAAOC,IEnCrBC,EAA+B,mBAAXjB,OAA0BA,OAAOG,YAAc,GCAnEe,EAAaT,EACbN,EDIac,ECHbT,EAAQW,EAwDZ,IAAAC,EA9BA,SAAsBT,GACrB,IAAIU,EACAC,EACAC,EAEJ,GAAKZ,MAAAA,EACJ,OAAOH,EAAMI,KAAMD,GAEpBW,EAAMX,EAAGR,GACTkB,EAAQH,EAAYP,EAAGR,GAGvB,IACCQ,EAAGR,QAAgB,EAClB,MAAQqB,GACT,OAAOhB,EAAMI,KAAMD,GASpB,OAPAY,EAAMf,EAAMI,KAAMD,GAEbU,EACJV,EAAGR,GAAgBmB,SAEZX,EAAGR,GAEJoB,GC9BJE,EAAUC,EACVN,EAAWD,EAefjB,EAjBqBO,IASNW,EAEAK,EChCXE,EAAclB,EAKdmB,EAA4C,mBAAjBC,aA6B/B,ICdA3B,EDIA,SAAyBa,GACxB,OACGa,GAAmBb,aAAiBc,cACb,0BAAzBF,EAAaZ,IEMfb,EALmB4B,OAAOC,kBC5BtBC,EAAiC,mBAAjBH,aAAgCA,aAAe,KCA/DI,EAAiBxB,EACjByB,EAAOR,EACPS,EDGaH,EESjB,ICDIP,ECbiC,mBAAjBI,aAAgCA,kBAAe,EDc/DT,EDPJ,WACC,MAAM,IAAIgB,MAAO,oBCqBlBlC,EFbA,WACC,IAAImC,EACAC,EAEJ,GAAmC,mBAAvBH,EACX,OAAO,EAGR,IACCG,EAAM,IAAIH,EAAoB,CAAE,EAAK,MAAO,KAAM,OAClDE,EACCJ,EAAgBK,IACH,IAAbA,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQJ,EAEb,MAAQV,GACTa,GAAO,EAER,OAAOA,EEhBHE,GACGd,EAEAL,EEvBJO,EAAclB,EAKd+B,EAA0C,mBAAhBC,YA6B9B,IClCIT,EAAgC,mBAAhBS,YAA+BA,YAAc,KCA7DC,EFwBJ,SAAwB3B,GACvB,OACGyB,GAAkBzB,aAAiB0B,aACZ,yBAAzBd,EAAaZ,IEzBX4B,EDGaX,EESjB,ICDIP,ECbgC,mBAAhBgB,YAA+BA,iBAAc,EDc7DrB,EDPJ,WACC,MAAM,IAAIgB,MAAO,oBCqBlBlC,EFbA,WACC,IAAImC,EACAC,EAEJ,GAAkC,mBAAtBK,EACX,OAAO,EAGR,IAECL,EAAM,IAAIK,EADVL,EAAM,CAAE,EAAG,MAAO,KAAMM,WAAcA,aAEtCP,EACCK,EAAeJ,IACF,IAAbA,EAAK,IACQ,IAAbA,EAAK,IACQM,aAAbN,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,GAEL,MAAQd,GACTa,GAAO,EAER,OAAOA,EElBHQ,GACGpB,EAEAL,EEXJqB,EAAcf,EAKdoB,EAAe,IANArC,EAMkB,GACnB,IAAIgC,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAA7C,EALI4C,EAAc,GCnCdL,EAAcf,EAKdoB,EAAe,IANArC,EAMkB,GACnB,IAAIgC,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAA7C,EALI4C,EAAc,GCdlB,ICJA5C,EDHA,SAAc8C,GACb,OAAOC,KAAKC,IAAKF,IEDlB9C,ECJY+C,KAAKE,MCtBbC,ECA0C,mBAA1B/C,OAAO+C,eAAkC/C,OAAO+C,eAAiB,KD4BrF,IAAAC,EAbA,WAEC,IAEC,OADAD,EAAgB,GAAI,IAAK,KAClB,EACN,MAAQ5B,GACT,OAAO,IEiBTC,EALqBpB,OAAO+C,eC/BxBE,EAAiBjD,OAAOC,UACxBE,EAAQ8C,EAAe/C,SACvBgD,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBAuFlC,IC3EIrC,EAAUC,EACVN,EDuBJ,SAAyB2C,EAAKC,EAAMC,GACnC,IAAI3D,EACA4D,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBvD,EAAMI,KAAMmD,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7BzD,EAAMI,KAAMqD,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBN,EAAa/C,KAAMmD,EAAKC,IACxBH,EAAajD,KAAMmD,EAAKC,IAGxB1D,EAAYyD,EAAIO,UAChBP,EAAIO,UAAYhB,SAGTS,EAAKC,GACZD,EAAKC,GAASC,EAAWlD,MAGzBgD,EAAIO,UAAYhE,GAEhByD,EAAKC,GAASC,EAAWlD,OAG3BoD,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAIhC,MAAO,wHASlB,OANK+B,GAAUZ,GACdA,EAAa3C,KAAMmD,EAAKC,EAAMC,EAAWM,KAErCH,GAAUX,GACdA,EAAa7C,KAAMmD,EAAKC,EAAMC,EAAWO,KAEnCT,GExFJX,EDkB2B3C,IASbgB,EAEAL,ECMlB,ICXAlB,GDDA,SAAmC6D,EAAKC,EAAMjD,GAC7CqC,EAAgBW,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZ5D,MAASA,KELX,IAAA6D,GAPA,SAAmB7D,GAClB,MAA0B,iBAAVA,GCAjBb,GCjBiB4B,OCAbvB,GCASE,GAMSH,UAAUC,SDkBhC,IEvBIoB,GAAcD,EACdI,GAASX,GACT0D,GFSJ,SAAe9D,GACd,IAEC,OADAR,GAASK,KAAMG,IACR,EACN,MAAQS,GACT,OAAO,IETLzB,GARiBU,IA2CrB,IAAAqE,GAhBA,SAAmB/D,GAClB,MAAsB,iBAAVA,IACNA,aAAiBe,KAGjB/B,GACG8E,GAAM9D,GAEoB,oBAAzBY,GAAaZ,MCnCpBgE,GAActE,GACduE,GAAWtD,GAkCf,ICOAuD,GAAAxE,GACAyE,GDfA,SAAmBnE,GAClB,OAASgE,GAAahE,IAAWiE,GAAUjE,ICgB5CiE,GAAAG,GAKAF,GAAAC,GAAA,cANA/D,IAOA8D,GAAAC,GAAA,WAAAF,IAKA,IAAA9E,GAAAgF,GCxBIE,GArBS3E,GAqBa4E,kBChCtBlC,GAAQ1C,EA0BZ,IC1BIyB,GAAOzB,EACP6E,GFoCaF,GEnCbG,GDiBJ,SAAoBvC,GACnB,OAAQG,GAAMH,KAAOA,GCKtB,IAAAwC,GAXA,SAAoBzE,GACnB,OACCA,EAAQmB,IACRnB,EAAQuE,IACRC,GAAOxE,IClBLmE,GAAWzE,GAAsCsE,YACjDQ,GAAQ7D,GA6BZ,IAAAkD,GAVA,SAAoB7D,GACnB,OACCmE,GAAUnE,IACVwE,GAAOxE,ICvBLmE,GAAWzE,GAAsCuE,SACjDO,GAAQ7D,GA6BZ,IAAAoD,GAVA,SAAoB/D,GACnB,OACCmE,GAAUnE,IACVwE,GAAOxE,EAAM0E,YCvBXV,GAActE,GACduE,GAAWtD,GAkCf,ICMAuD,GAAAxE,GACAiF,GDdA,SAAoB3E,GACnB,OAASgE,GAAahE,IAAWiE,GAAUjE,ICe5CiE,GAAAG,GAKAF,GAAAS,GAAA,cANAvE,IAOA8D,GAAAS,GAAA,WAAAV,IAKA,ICvDIU,GDuDJA,GCvDuDX,YA6BvD,IAAAH,GAVA,SAA+B7D,GAC9B,OACC2E,GAAW3E,IACXA,GAAS,GCtBP2E,GFuDJA,GEvDuDV,SA6BvD,IAAAF,GAVA,SAA+B/D,GAC9B,OACC2E,GAAW3E,IACXA,EAAM0E,WAAa,GCtBjBV,GAActE,GACduE,GAAWtD,GAsCf,ICGAuD,GAAAxE,GACAkF,GDXA,SAA+B5E,GAC9B,OAASgE,GAAahE,IAAWiE,GAAUjE,ICY5CiE,GAAAG,GAKAF,GAAAU,GAAA,cANAxE,IAOA8D,GAAAU,GAAA,WAAAX,IAKA,IAAA9E,GAAAyF,GCrCA,IAAAf,GAPA,SAAmB7D,GAClB,MAA0B,iBAAVA,GCbb0E,GCDUG,OAAOtF,UAAUmF,QDyB/B,IEvBI9D,GAAcD,EACdmD,GFUJ,SAAe9D,GACd,IAEC,OADA0E,GAAQ7E,KAAMG,IACP,EACN,MAAQS,GACT,OAAO,IEVLzB,GAPiBU,IA0CrB,IAAAqE,GAhBA,SAAmB/D,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6E,SAGjB7F,GACG8E,GAAM9D,GAEoB,oBAAzBY,GAAaZ,MClCpBgE,GAActE,GACduE,GAAWtD,GA0Bf,ICSAuD,GAAAxE,GACAoF,GDjBA,SAAmB9E,GAClB,OAASgE,GAAahE,IAAWiE,GAAUjE,ICkB5CiE,GAAAG,GAKAF,GAAAY,GAAA,cANA1E,IAOA8D,GAAAY,GAAA,WAAAb,IAKA,IAAA9E,GAAA2F,GClDIF,GAAuBlF,GAAmDsE,YAC1Ec,GAAWnE,GAAsCqD,YAwGrD,IClFA7E,GD6CA,SAAiB4F,EAAKC,GACrB,IAAIC,EACAC,EACJ,IAAMJ,GAAUC,GACf,MAAM,IAAIzB,UAAW,8DAAgEyB,EAAM,MAE5F,IAAMH,GAAsBI,GAC3B,MAAM,IAAI1B,UAAW,4EAA8E0B,EAAI,MAExG,GAAoB,IAAfD,EAAII,QAAsB,IAANH,EACxB,MAAO,GAGR,GAAKD,EAAII,OAASH,EA/EY5E,iBAgF7B,MAAM,IAAIgF,WAAY,iFAIvB,IAFAH,EAAM,GACNC,EAAMF,EAGY,IAAP,EAAJE,KACLD,GAAOF,GAIK,KADbG,KAAS,IAKTH,GAAOA,EAER,OAAOE,GE7EJI,GAAOnD,KAAKmD,KCtBZT,GAAuBlF,GAAmDsE,YAC1Ec,GAAWnE,GAAsCqD,YACjDsB,GAASlF,GACTiF,GDwBaA,GCwCjB,ICnEIT,GAAuBlF,GAAmDsE,YAC1Ec,GAAWnE,GAAsCqD,YACjDsB,GAASlF,GACTiF,GFwBaA,GEwCjB,ICnEIjD,GAAQ1C,EC0DZ,IC1DIyB,GAAOzB,EACP6E,GAAO5D,EAEPwB,GAAMiC,EACNhC,GAAQmD,EACRC,GJ4BJ,SAAeT,EAAKU,EAAKC,GACxB,IAAIV,EACAW,EACJ,IAAMb,GAAUC,GACf,MAAM,IAAIzB,UAAW,8DAAgEyB,EAAM,MAE5F,IAAMH,GAAsBa,GAC3B,MAAM,IAAInC,UAAW,4EAA8EmC,EAAM,MAE1G,GAAKG,UAAUT,OAAS,EAAI,CAE3B,IAAML,GADNa,EAAID,GAEH,MAAM,IAAIpC,UAAW,8DAAgEqC,EAAI,MAE1F,GAAkB,IAAbA,EAAER,OACN,MAAM,IAAIC,WAAY,kEAGvBO,EAAI,IAEL,GAAKF,EAjDyBF,iBAkD7B,MAAM,IAAIH,WAAY,iFAGvB,OADAJ,GAAMS,EAAMV,EAAII,QAAWQ,EAAER,SACnB,EACFJ,GAERC,EAAIK,GAAML,GACHD,EAAMO,GAAQK,EAAGX,KIvDrBa,GH2BJ,SAAed,EAAKU,EAAKC,GACxB,IAAIV,EACAW,EACJ,IAAMb,GAAUC,GACf,MAAM,IAAIzB,UAAW,8DAAgEyB,EAAM,MAE5F,IAAMH,GAAsBa,GAC3B,MAAM,IAAInC,UAAW,4EAA8EmC,EAAM,MAE1G,GAAKG,UAAUT,OAAS,EAAI,CAE3B,IAAML,GADNa,EAAID,GAEH,MAAM,IAAIpC,UAAW,8DAAgEqC,EAAI,MAE1F,GAAkB,IAAbA,EAAER,OACN,MAAM,IAAIC,WAAY,sEAGvBO,EAAI,IAEL,GAAKF,EAjDyBF,iBAkD7B,MAAM,IAAIH,WAAY,iFAGvB,OADAJ,GAAMS,EAAMV,EAAII,QAAWQ,EAAER,SACnB,EACFJ,GAERC,EAAIK,GAAML,GACHM,GAAQK,EAAGX,GAAMD,IGtDrBO,GAASQ,GACTC,GFoBJ,SAAe9D,GAKd,IAJA,IACI+D,EADAjB,EAAM,GAIF9C,EAAI,GAIV8C,GAHDiB,EAAI/D,EAAI,MACRA,EAAIG,GAAO4D,IAEJ,IAAMjB,EAEN,IAAMA,EAGd,OAAOA,GEjCJkB,GDYJ,SAAgBhE,GACf,IAAI8C,EACAiB,EACAE,EACAC,EAGJ,GADApB,EAAM,GACK,IAAN9C,EACJ,OAAO8C,EAKR,IAHAoB,EA/Bc,IAkCRD,EAAI,EAAGA,EAlCC,OAmCbF,EAAQ,EAAJ/D,IACM,GACTA,EAAI+D,EAAI,EACRjB,GAAO,IAtCK,MAuCPoB,IACJA,EAAID,KAGLjE,EAAI+D,EACJjB,GAAO,OAGG,IAANiB,GAAaE,EAAEC,EA9CP,KAiCaD,KAkB3B,OAAOnB,GCgHR,ICrHA5F,GD0BA,SAA0B8C,GACzB,IAAImE,EACAC,EACAtB,EACAuB,EACAtB,EACAuB,EACAL,EASJ,GALCG,EADIpE,EAAI,GAAO,EAAIA,IAAMsC,GAClB,IAEA,IAGHtC,IAAMd,IAAQc,IAAMsC,GAIxB,OAAO8B,GAFPC,EAAMhB,GAAQ,IA3EQ,KA4EtBP,EAAMO,GAAQ,IA7EW,KAiF1B,GAAKrD,GAAMA,EAIV,OAAOoE,GAFPC,EAAMhB,GAAQ,IAlFQ,KAmFtBP,EAAM,IAAMO,GAAQ,IAAKkB,KAI1B,GAAW,IAANvE,EAIJ,OAAOoE,GAFPC,EAAMhB,GAAQ,IAzFQ,KA0FtBP,EAAMO,GAAQ,IA3FW,KA2G1B,GAPAiB,GANAtE,EAAIE,GAAKF,KAGT+C,EAAI5C,GAAOH,IAMX+C,EAAIe,GAAMf,GACVuB,EAAIN,GAAOM,GAGNvB,EAEJsB,EAAMtB,EAAEG,OAAS,MACX,CAEN,IAAMe,EAAI,EAAGA,EAAIK,EAAEpB,OAAQe,IAC1B,GAAgB,MAAXK,EAAGL,GAAc,CACrBE,EAAQF,EAAI,EACZ,MAIFI,GAAOF,EAwBR,OArBArB,EAAMC,EAAIuB,EACLD,EAAM,GAELA,IE9GqB,MFgHzBF,EAAQK,KAGT1B,EAAMA,EAAI2B,UAAWN,IAGrBrB,EAAMA,EAAI2B,UAAW,GAGtBJ,EAAMP,GAAMO,EEzHe,KFgIpBD,GANPC,EAAMT,GAAMS,EAxIW,EAwIa,OAGpCvB,EAAMS,GAAMT,EA5Ic,GA4Ia,KAAM2B,UAAW,EA5I9B"} \ No newline at end of file From d0e90c01abd1736d18971ed517c574ce2b82209d Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Fri, 1 Jul 2022 03:59:37 +0000 Subject: [PATCH 004/146] Auto-generated commit --- .editorconfig | 181 -- .eslintrc.js | 1 - .gitattributes | 33 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 62 - .github/workflows/cancel.yml | 56 - .github/workflows/close_pull_requests.yml | 44 - .github/workflows/examples.yml | 62 - .github/workflows/npm_downloads.yml | 108 - .github/workflows/productionize.yml | 681 ------ .github/workflows/publish.yml | 157 -- .github/workflows/test.yml | 92 - .github/workflows/test_bundles.yml | 180 -- .github/workflows/test_coverage.yml | 123 - .github/workflows/test_install.yml | 83 - .gitignore | 178 -- .npmignore | 227 -- .npmrc | 28 - CHANGELOG.md | 5 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 ---- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 -- lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 2689 +++++++++++++++++++++ test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 -- 45 files changed, 2708 insertions(+), 3890 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0fd4d6c..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 7212d81..0000000 --- a/.gitattributes +++ /dev/null @@ -1,33 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index 763b06f..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2022-06-30T22:21:06.325Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 29bf533..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index a7a7f51..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,56 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - uses: styfle/cancel-workflow-action@0.9.0 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index 576054a..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,44 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 39b1613..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout the repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 7ca169c..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,108 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '0 8 * * 6' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "::set-output name=package_name::$name" - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "::set-output name=data::$data" - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - uses: actions/upload-artifact@v2 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - uses: distributhor/workflow-webhook@v2 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 128c22e..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,681 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the repository: - push: - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - uses: actions/checkout@v3 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Format error messages: - - name: 'Replace double quotes with single quotes in rewritten format string error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\( \"([a-zA-Z0-9]+)\"/Error\( format\( '\1'/g" {} \; - - # Format string literal error messages: - - name: 'Replace double quotes with single quotes in rewritten string literal error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\(\"([a-zA-Z0-9]+)\"\)/Error\( format\( '\1' \)/g" {} \; - - # Format code: - - name: 'Replace double quotes with single quotes in inserted `require` calls' - run: | - find . -name "*.js" -exec sed -E -i "s/require\( ?\"@stdlib\/error-tools-fmtprodmsg\" ?\);/require\( '@stdlib\/error-tools-fmtprodmsg' \);/g" {} \; - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\"/\"@stdlib\/error-tools-fmtprodmsg\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^0.0.x'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "::set-output name=remote-exists::true" - else - echo "::set-output name=remote-exists::false" - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs rm -rf - - git add -A - git commit -m "Remove files" - - git merge -s recursive -X theirs origin/production --allow-unrelated-histories - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch or create new branch tag: - - name: 'Push changes to `deno` branch or create new branch tag' - run: | - SLUG=${{ github.repository }} - VERSION=$(echo ${{ github.ref }} | sed -E -n 's/refs\/tags\/?(v[0-9]+.[0-9]+.[0-9]+).*/\1/p') - if [ -z "$VERSION" ]; then - echo "Workflow job was not triggered by a new tag...." - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - else - echo "Workflow job was triggered by a new tag: $VERSION" - echo "Creating new bundle branch tag of the form $VERSION-deno" - git tag -a $VERSION-deno -m "$VERSION-deno" - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" $VERSION-deno - fi - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - uses: act10ns/slack@v1 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "::set-output name=remote-exists::true" - else - echo "::set-output name=remote-exists::false" - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs rm -rf - - git add -A - git commit -m "Remove files" - - git merge -s recursive -X theirs origin/production --allow-unrelated-histories - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "::set-output name=alias::${alias}" - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 79474bf94950abb762f973fd3202d8b9fdc6d3e2 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Fri, 1 Jul 2022 18:13:41 +0000 Subject: [PATCH 005/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index a7454fb..bdeaf59 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.0.x", "@stdlib/string-left-pad": "^0.0.x", "@stdlib/string-repeat": "^0.0.x", - "@stdlib/string-right-pad": "^0.0.x" + "@stdlib/string-right-pad": "^0.0.x", + "@stdlib/error-tools-fmtprodmsg": "^0.0.x" }, "devDependencies": { "@stdlib/assert-is-string": "^0.0.x", @@ -98,4 +99,4 @@ "type": "patreon", "url": "https://www.patreon.com/athan" } -} +} \ No newline at end of file From 26447d2008633f6f049c0df974e124b24ba89aa2 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sat, 2 Jul 2022 03:18:34 +0000 Subject: [PATCH 006/146] Remove files --- mod.d.ts | 78 -- mod.js | 4 - mod.js.map | 1 - stats.html | 2689 ---------------------------------------------------- 4 files changed, 2772 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 1881a26..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 2.0 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index fdb9d18..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2022 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r=function(){return"function"==typeof Symbol&&"symbol"==typeof Symbol("foo")}();var t=function(){return r&&"symbol"==typeof Symbol.toStringTag},e=Object.prototype.toString,n=e;var i=function(r){return n.call(r)},a=Object.prototype.hasOwnProperty;var o=function(r,t){return null!=r&&a.call(r,t)},u="function"==typeof Symbol?Symbol.toStringTag:"",l=o,f=u,c=e;var v=function(r){var t,e,n;if(null==r)return c.call(r);e=r[f],t=l(r,f);try{r[f]=void 0}catch(t){return c.call(r)}return n=c.call(r),t?r[f]=e:delete r[f],n},g=i,m=v,s=t()?m:g,y=s,p="function"==typeof Float32Array;var b=function(r){return p&&r instanceof Float32Array||"[object Float32Array]"===y(r)},h=Number.POSITIVE_INFINITY,w="function"==typeof Float32Array?Float32Array:null,d=b,_=h,j=w;var E="function"==typeof Float32Array?Float32Array:void 0,O=function(){throw new Error("not implemented")},P=function(){var r,t;if("function"!=typeof j)return!1;try{t=new j([1,3.14,-3.14,5e40]),r=d(t)&&1===t[0]&&3.140000104904175===t[1]&&-3.140000104904175===t[2]&&t[3]===_}catch(t){r=!1}return r}()?E:O,S=s,T="function"==typeof Uint32Array;var A="function"==typeof Uint32Array?Uint32Array:null,F=function(r){return T&&r instanceof Uint32Array||"[object Uint32Array]"===S(r)},V=A;var I="function"==typeof Uint32Array?Uint32Array:void 0,x=function(){throw new Error("not implemented")},N=function(){var r,t;if("function"!=typeof V)return!1;try{t=new V(t=[1,3.14,-3.14,4294967296,4294967297]),r=F(t)&&1===t[0]&&3===t[1]&&4294967293===t[2]&&0===t[3]&&1===t[4]}catch(t){r=!1}return r}()?I:x,U=N,R=new P(1);new U(R.buffer)[0]=2139095040;var k=R[0],G=N,M=new P(1);new G(M.buffer)[0]=4286578688;var Y=M[0];var C=function(r){return Math.abs(r)},q=Math.floor,z="function"==typeof Object.defineProperty?Object.defineProperty:null;var B=function(){try{return z({},"x",{}),!0}catch(r){return!1}},D=Object.defineProperty,H=Object.prototype,J=H.toString,K=H.__defineGetter__,L=H.__defineSetter__,Q=H.__lookupGetter__,W=H.__lookupSetter__;var X=D,Z=function(r,t,e){var n,i,a,o;if("object"!=typeof r||null===r||"[object Array]"===J.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof e||null===e||"[object Array]"===J.call(e))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+e+"`.");if((i="value"in e)&&(Q.call(r,t)||W.call(r,t)?(n=r.__proto__,r.__proto__=H,delete r[t],r[t]=e.value,r.__proto__=n):r[t]=e.value),a="get"in e,o="set"in e,i&&(a||o))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return a&&K&&K.call(r,t,e.get),o&&L&&L.call(r,t,e.set),r},$=B()?X:Z;var rr=function(r,t,e){$(r,t,{configurable:!1,enumerable:!1,writable:!1,value:e})};var tr=function(r){return"number"==typeof r},er=Number,nr=er.prototype.toString;var ir=s,ar=er,or=function(r){try{return nr.call(r),!0}catch(r){return!1}},ur=t();var lr=function(r){return"object"==typeof r&&(r instanceof ar||(ur?or(r):"[object Number]"===ir(r)))},fr=tr,cr=lr;var vr=rr,gr=function(r){return fr(r)||cr(r)},mr=lr;vr(gr,"isPrimitive",tr),vr(gr,"isObject",mr);var sr=gr,yr=er.NEGATIVE_INFINITY,pr=q;var br=h,hr=yr,wr=function(r){return pr(r)===r};var dr=function(r){return rhr&&wr(r)},_r=sr.isPrimitive,jr=dr;var Er=function(r){return _r(r)&&jr(r)},Or=sr.isObject,Pr=dr;var Sr=function(r){return Or(r)&&Pr(r.valueOf())},Tr=Er,Ar=Sr;var Fr=rr,Vr=function(r){return Tr(r)||Ar(r)},Ir=Sr;Fr(Vr,"isPrimitive",Er),Fr(Vr,"isObject",Ir);var xr=Vr.isPrimitive;var Nr=function(r){return xr(r)&&r>=0},Ur=Vr.isObject;var Rr=function(r){return Ur(r)&&r.valueOf()>=0},kr=Nr,Gr=Rr;var Mr=rr,Yr=function(r){return kr(r)||Gr(r)},Cr=Rr;Mr(Yr,"isPrimitive",Nr),Mr(Yr,"isObject",Cr);var qr=Yr;var zr=function(r){return"string"==typeof r},Br=String.prototype.valueOf;var Dr=s,Hr=function(r){try{return Br.call(r),!0}catch(r){return!1}},Jr=t();var Kr=function(r){return"object"==typeof r&&(r instanceof String||(Jr?Hr(r):"[object String]"===Dr(r)))},Lr=zr,Qr=Kr;var Wr=rr,Xr=function(r){return Lr(r)||Qr(r)},Zr=Kr;Wr(Xr,"isPrimitive",zr),Wr(Xr,"isObject",Zr);var $r=Xr,rt=qr.isPrimitive,tt=$r.isPrimitive;var et=function(r,t){var e,n;if(!tt(r))throw new TypeError("invalid argument. First argument must be a string. Value: `"+r+"`.");if(!rt(t))throw new TypeError("invalid argument. Second argument must be a nonnegative integer. Value: `"+t+"`.");if(0===r.length||0===t)return"";if(r.length*t>9007199254740991)throw new RangeError("invalid argument. Output string length exceeds maximum allowed string length.");for(e="",n=t;1==(1&n)&&(e+=r),0!==(n>>>=1);)r+=r;return e},nt=Math.ceil,it=qr.isPrimitive,at=$r.isPrimitive,ot=et,ut=nt;var lt=function(r,t,e){var n,i;if(!at(r))throw new TypeError("invalid argument. First argument must be a string. Value: `"+r+"`.");if(!it(t))throw new TypeError("invalid argument. Second argument must be a nonnegative integer. Value: `"+t+"`.");if(arguments.length>2){if(!at(i=e))throw new TypeError("invalid argument. Third argument must be a string. Value: `"+i+"`.");if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(t>9007199254740991)throw new RangeError("invalid argument. Output string length exceeds maximum allowed string length.");return(n=(t-r.length)/i.length)<=0?r:(n=ut(n),r+ot(i,n))},ft=qr.isPrimitive,ct=$r.isPrimitive,vt=et,gt=nt;var mt=function(r,t,e){var n,i;if(!ct(r))throw new TypeError("invalid argument. First argument must be a string. Value: `"+r+"`.");if(!ft(t))throw new TypeError("invalid argument. Second argument must be a nonnegative integer. Value: `"+t+"`.");if(arguments.length>2){if(!ct(i=e))throw new TypeError("invalid argument. Third argument must be a string. Value: `"+i+"`.");if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(t>9007199254740991)throw new RangeError("invalid argument. Output string length exceeds maximum allowed string length.");return(n=(t-r.length)/i.length)<=0?r:(n=gt(n),vt(i,n)+r)};function st(r){for(var t,e="";r>0;)e=(t=r/2)===(r=q(t))?"0"+e:"1"+e;return e}function yt(r){var t,e,n,i,a,o,u;if(e=r<0||1/r===Y?"1":"0",r===k||r===Y)return e+(i=et("1",8))+(n=et("0",23));if(r!=r)return e+(i=et("1",8))+(n="1"+et("0",22));if(0===r)return e+(i=et("0",8))+(n=et("0",23));if(o=(r=C(r))-(a=q(r)),a=st(a),o=function(r){var t,e,n,i;if(t="",0===r)return t;for(i=149,n=0;n<149&&((e=2*r)>=1?(r=e-1,t+="1",149===i&&(i=n)):(r=e,t+="0"),!(1===e||n-i>24));n++);return t}(o),a)i=a.length-1;else{for(u=0;u\n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasSymbols = require( '@stdlib/assert-has-symbol-support' );\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `toStringTag` support.\n*\n* @module @stdlib/assert-has-tostringtag-support\n*\n* @example\n* var hasToStringTagSupport = require( '@stdlib/assert-has-tostringtag-support' );\n*\n* var bool = hasToStringTagSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasToStringTagSupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nmodule.exports = toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar toStr = require( './tostring.js' );\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nmodule.exports = nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has a specified property.\n*\n* @module @stdlib/assert-has-own-property\n*\n* @example\n* var hasOwnProp = require( '@stdlib/assert-has-own-property' );\n*\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* bool = hasOwnProp( beep, 'bop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasOwnProp = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nmodule.exports = toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( '@stdlib/assert-has-own-property' );\nvar toStringTag = require( './tostringtag.js' );\nvar toStr = require( './tostring.js' );\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nmodule.exports = nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* var nativeClass = require( '@stdlib/utils-native-class' );\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nvar hasToStringTag = require( '@stdlib/assert-has-tostringtag-support' );\nvar builtin = require( './native_class.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nmodule.exports = nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils-native-class' );\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Float32Array.\n*\n* @module @stdlib/assert-is-float32array\n*\n* @example\n* var isFloat32Array = require( '@stdlib/assert-is-float32array' );\n*\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* bool = isFloat32Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat32Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* var FLOAT64_PINF = require( '@stdlib/constants-float64-pinf' );\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFloat32Array = require( '@stdlib/assert-is-float32array' );\nvar PINF = require( '@stdlib/constants-float64-pinf' );\nvar GlobalFloat32Array = require( './float32array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* var ctor = require( '@stdlib/array-float32' );\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nvar hasFloat32ArraySupport = require( '@stdlib/assert-has-float32array-support' );\nvar builtin = require( './float32array.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils-native-class' );\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint32Array = require( '@stdlib/assert-is-uint32array' );\nvar UINT32_MAX = require( '@stdlib/constants-uint32-max' );\nvar GlobalUint32Array = require( './uint32array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* var ctor = require( '@stdlib/array-uint32' );\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nvar hasUint32ArraySupport = require( '@stdlib/assert-has-uint32array-support' );\nvar builtin = require( './uint32array.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* var FLOAT32_PINF = require( '@stdlib/constants-float32-pinf' );\n* // returns +infinity\n*/\n\n// MODULES //\n\nvar Float32Array = require( '@stdlib/array-float32' );\nvar Uint32Array = require( '@stdlib/array-uint32' );\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nmodule.exports = v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* var FLOAT32_NINF = require( '@stdlib/constants-float32-ninf' );\n* // returns -infinity\n*/\n\n// MODULES //\n\nvar Float32Array = require( '@stdlib/array-float32' );\nvar Uint32Array = require( '@stdlib/array-uint32' );\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nmodule.exports = v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nmodule.exports = abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Compute an absolute value of a double-precision floating-point number.\n*\n* @module @stdlib/math-base-special-abs\n*\n* @example\n* var abs = require( '@stdlib/math-base-special-abs' );\n*\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* v = abs( 2.0 );\n* // returns 2.0\n*\n* v = abs( 0.0 );\n* // returns 0.0\n*\n* v = abs( -0.0 );\n* // returns 0.0\n*\n* v = abs( NaN );\n* // returns NaN\n*/\n\n// MODULES //\n\nvar abs = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Round a double-precision floating-point number toward negative infinity.\n*\n* @module @stdlib/math-base-special-floor\n*\n* @example\n* var floor = require( '@stdlib/math-base-special-floor' );\n*\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* v = floor( 9.99999 );\n* // returns 9.0\n*\n* v = floor( 0.0 );\n* // returns 0.0\n*\n* v = floor( NaN );\n* // returns NaN\n*/\n\n// MODULES //\n\nvar floor = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nmodule.exports = floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar defineProperty = require( './define_property.js' );\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nmodule.exports = defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nmodule.exports = defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils-define-property' );\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nvar hasDefinePropertySupport = require( './has_define_property_support.js' );\nvar builtin = require( './builtin.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar defineProperty = require( '@stdlib/utils-define-property' );\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nmodule.exports = setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define a non-enumerable read-only property.\n*\n* @module @stdlib/utils-define-nonenumerable-read-only-property\n*\n* @example\n* var setNonEnumerableReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\n*\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\n\n// MODULES //\n\nvar setNonEnumerableReadOnly = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Constructor which returns a `Number` object.\n*\n* @module @stdlib/number-ctor\n*\n* @example\n* var Number = require( '@stdlib/number-ctor' );\n*\n* var v = new Number( 10.0 );\n* // returns \n*/\n\n// MODULES //\n\nvar Number = require( './number.js' );\n\n\n// EXPORTS //\n\nmodule.exports = Number;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nmodule.exports = Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar toString = require( './tostring.js' ); // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Number = require( '@stdlib/number-ctor' );\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( '@stdlib/assert-has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils-native-class' );\nvar Number = require( '@stdlib/number-ctor' );\nvar test = require( './try2serialize.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* var isNumber = require( '@stdlib/assert-is-number' );\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* var isNumber = require( '@stdlib/assert-is-number' ).isPrimitive;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* var isNumber = require( '@stdlib/assert-is-number' ).isObject;\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar isNumber = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* var FLOAT64_NINF = require( '@stdlib/constants-float64-ninf' );\n* // returns -Infinity\n*/\n\n// MODULES //\n\nvar Number = require( '@stdlib/number-ctor' );\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nmodule.exports = FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar floor = require( '@stdlib/math-base-special-floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar PINF = require( '@stdlib/constants-float64-pinf' );\nvar NINF = require( '@stdlib/constants-float64-ninf' );\nvar isInt = require( '@stdlib/math-base-assert-is-integer' );\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( '@stdlib/assert-is-number' ).isPrimitive;\nvar isInt = require( './integer.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( '@stdlib/assert-is-number' ).isObject;\nvar isInt = require( './integer.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* var isInteger = require( '@stdlib/assert-is-integer' );\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* var isInteger = require( '@stdlib/assert-is-integer' ).isPrimitive;\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* var isInteger = require( '@stdlib/assert-is-integer' ).isObject;\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar isInteger = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( '@stdlib/assert-is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( '@stdlib/assert-is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' );\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isPrimitive;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isObject;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar isNonNegativeInteger = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar valueOf = require( './valueof.js' ); // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( '@stdlib/assert-has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils-native-class' );\nvar test = require( './try2valueof.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* var isString = require( '@stdlib/assert-is-string' );\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* var isString = require( '@stdlib/assert-is-string' ).isObject;\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* var isString = require( '@stdlib/assert-is-string' ).isPrimitive;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar isString = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isPrimitive;\nvar isString = require( '@stdlib/assert-is-string' ).isPrimitive;\nvar FLOAT64_MAX_SAFE_INTEGER = require( '@stdlib/constants-float64-max-safe-integer' );\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string primitive\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be a string. Value: `' + str + '`.' );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( 'invalid argument. Second argument must be a nonnegative integer. Value: `' + n + '`.' );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( 'invalid argument. Output string length exceeds maximum allowed string length.' );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nmodule.exports = repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-repeat\n*\n* @example\n* var replace = require( '@stdlib/string-repeat' );\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nvar repeat = require( './repeat.js' );\n\n\n// EXPORTS //\n\nmodule.exports = repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nmodule.exports = ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isPrimitive;\nvar isString = require( '@stdlib/assert-is-string' ).isPrimitive;\nvar repeat = require( '@stdlib/string-repeat' );\nvar ceil = require( '@stdlib/math-base-special-ceil' );\nvar FLOAT64_MAX_SAFE_INTEGER = require( '@stdlib/constants-float64-max-safe-integer' );\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be a string. Value: `' + str + '`.' );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( 'invalid argument. Second argument must be a nonnegative integer. Value: `' + len + '`.' );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( 'invalid argument. Third argument must be a string. Value: `' + p + '`.' );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( 'invalid argument. Output string length exceeds maximum allowed string length.' );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nmodule.exports = rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Right pad a string such that the padded string has a length of at least `len`.\n*\n* @module @stdlib/string-right-pad\n*\n* @example\n* var rpad = require( '@stdlib/string-right-pad' );\n*\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\n\n// MODULES //\n\nvar rpad = require( './right_pad.js' );\n\n\n// EXPORTS //\n\nmodule.exports = rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isPrimitive;\nvar isString = require( '@stdlib/assert-is-string' ).isPrimitive;\nvar repeat = require( '@stdlib/string-repeat' );\nvar ceil = require( '@stdlib/math-base-special-ceil' );\nvar FLOAT64_MAX_SAFE_INTEGER = require( '@stdlib/constants-float64-max-safe-integer' );\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be a string. Value: `' + str + '`.' );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( 'invalid argument. Second argument must be a nonnegative integer. Value: `' + len + '`.' );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( 'invalid argument. Third argument must be a string. Value: `' + p + '`.' );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( 'invalid argument. Output string length exceeds maximum allowed string length.' );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nmodule.exports = lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Left pad a string such that the padded string has a length of at least `len`.\n*\n* @module @stdlib/string-left-pad\n*\n* @example\n* var lpad = require( '@stdlib/string-left-pad' );\n*\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\n\n// MODULES //\n\nvar lpad = require( './left_pad.js' );\n\n\n// EXPORTS //\n\nmodule.exports = lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor' ;\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf' ;\nimport NINF from '@stdlib/constants-float32-ninf' ;\nimport BIAS from '@stdlib/constants-float32-exponent-bias' ;\nimport abs from '@stdlib/math-base-special-abs' ;\nimport floor from '@stdlib/math-base-special-floor' ;\nimport rpad from '@stdlib/string-right-pad' ;\nimport lpad from '@stdlib/string-left-pad' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport div2 from './div2.js' ;\nimport mult2 from './mult2.js' ;\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf' ;\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf' ;\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* var FLOAT32_EXPONENT_BIAS = require( '@stdlib/constants-float32-exponent-bias' );\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nmodule.exports = FLOAT32_EXPONENT_BIAS;\n"],"names":["FLG","Symbol","hasSymbols","lib","toStringTag","tostring","Object","prototype","toString","toStr","require$$0","native_class","v","call","has","hasOwnProperty","value","property","toStrTag","hasOwnProp","require$$2","polyfill","isOwn","tag","out","err","builtin","require$$1","nativeClass","hasFloat32Array","Float32Array","Number","POSITIVE_INFINITY","main","isFloat32Array","PINF","GlobalFloat32Array","Error","bool","arr","hasFloat32ArraySupport","hasUint32Array","Uint32Array","isUint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","x","Math","abs","floor","defineProperty","has_define_property_support","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","configurable","enumerable","writable","primitive","test","object","isPrimitive","isObject","setReadOnly","isNumber","require$$3","FLOAT64_NINF","NEGATIVE_INFINITY","NINF","isInt","integer","valueOf","isInteger","isNonNegativeInteger","String","isString","str","n","rpt","cnt","length","RangeError","ceil","repeat","len","pad","p","arguments","require$$4","div2","y","toBinaryStringf","nbits","sign","exp","f","i","NUM_SIGNIFICAND_BITS","j","mult2","BIAS","substring","lpad","rpad"],"mappings":";;AAyCA,ICdIA,EDIJ,WACC,MACmB,mBAAXC,QACoB,iBAApBA,OAAQ,OCPPC,GAqBV,ICTAC,EDEA,WACC,OAASH,GAAqC,iBAAvBC,OAAOG,aEf/BC,EALYC,OAAOC,UAAUC,SCAzBC,EAAQC,EAiCZ,IAAAC,EAPA,SAAsBC,GACrB,OAAOH,EAAMI,KAAMD,IC3BhBE,EAAMR,OAAOC,UAAUQ,eAyC3B,ICjBAZ,EDIA,SAAqBa,EAAOC,GAC3B,OACCD,SAKMF,EAAID,KAAMG,EAAOC,IEnCrBC,EAA+B,mBAAXjB,OAA0BA,OAAOG,YAAc,GCAnEe,EAAaT,EACbN,EDIac,ECHbT,EAAQW,EAwDZ,IAAAC,EA9BA,SAAsBT,GACrB,IAAIU,EACAC,EACAC,EAEJ,GAAKZ,QACJ,OAAOH,EAAMI,KAAMD,GAEpBW,EAAMX,EAAGR,GACTkB,EAAQH,EAAYP,EAAGR,GAGvB,IACCQ,EAAGR,QAAgB,EAClB,MAAQqB,GACT,OAAOhB,EAAMI,KAAMD,GASpB,OAPAY,EAAMf,EAAMI,KAAMD,GAEbU,EACJV,EAAGR,GAAgBmB,SAEZX,EAAGR,GAEJoB,GC9BJE,EAAUC,EACVN,EAAWD,EAefjB,EAjBqBO,IASNW,EAEAK,EChCXE,EAAclB,EAKdmB,EAA4C,mBAAjBC,aA6B/B,ICdA3B,EDIA,SAAyBa,GACxB,OACGa,GAAmBb,aAAiBc,cACb,0BAAzBF,EAAaZ,IEMfb,EALmB4B,OAAOC,kBC5BtBC,EAAiC,mBAAjBH,aAAgCA,aAAe,KCA/DI,EAAiBxB,EACjByB,EAAOR,EACPS,EDGaH,EESjB,ICDIP,ECbiC,mBAAjBI,aAAgCA,kBAAe,EDc/DT,EDPJ,WACC,MAAM,IAAIgB,MAAO,oBCqBlBlC,EFbA,WACC,IAAImC,EACAC,EAEJ,GAAmC,mBAAvBH,EACX,OAAO,EAGR,IACCG,EAAM,IAAIH,EAAoB,CAAE,EAAK,MAAO,KAAM,OAClDE,EACCJ,EAAgBK,IACH,IAAbA,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQJ,EAEb,MAAQV,GACTa,GAAO,EAER,OAAOA,EEhBHE,GACGd,EAEAL,EEvBJO,EAAclB,EAKd+B,EAA0C,mBAAhBC,YA6B9B,IClCIT,EAAgC,mBAAhBS,YAA+BA,YAAc,KCA7DC,EFwBJ,SAAwB3B,GACvB,OACGyB,GAAkBzB,aAAiB0B,aACZ,yBAAzBd,EAAaZ,IEzBX4B,EDGaX,EESjB,ICDIP,ECbgC,mBAAhBgB,YAA+BA,iBAAc,EDc7DrB,EDPJ,WACC,MAAM,IAAIgB,MAAO,oBCqBlBlC,EFbA,WACC,IAAImC,EACAC,EAEJ,GAAkC,mBAAtBK,EACX,OAAO,EAGR,IAECL,EAAM,IAAIK,EADVL,EAAM,CAAE,EAAG,MAAO,KAAMM,WAAcA,aAEtCP,EACCK,EAAeJ,IACF,IAAbA,EAAK,IACQ,IAAbA,EAAK,IACQM,aAAbN,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,GAEL,MAAQd,GACTa,GAAO,EAER,OAAOA,EElBHQ,GACGpB,EAEAL,EEXJqB,EAAcf,EAKdoB,EAAe,IANArC,EAMkB,GACnB,IAAIgC,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAA7C,EALI4C,EAAc,GCnCdL,EAAcf,EAKdoB,EAAe,IANArC,EAMkB,GACnB,IAAIgC,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAA7C,EALI4C,EAAc,GCdlB,ICJA5C,EDHA,SAAc8C,GACb,OAAOC,KAAKC,IAAKF,IEDlB9C,ECJY+C,KAAKE,MCtBbC,ECA0C,mBAA1B/C,OAAO+C,eAAkC/C,OAAO+C,eAAiB,KD4BrF,IAAAC,EAbA,WAEC,IAEC,OADAD,EAAgB,GAAI,IAAK,KAClB,EACN,MAAQ5B,GACT,OAAO,IEiBTC,EALqBpB,OAAO+C,eC/BxBE,EAAiBjD,OAAOC,UACxBE,EAAQ8C,EAAe/C,SACvBgD,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBAuFlC,IC3EIrC,EAAUC,EACVN,EDuBJ,SAAyB2C,EAAKC,EAAMC,GACnC,IAAI3D,EACA4D,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBvD,EAAMI,KAAMmD,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7BzD,EAAMI,KAAMqD,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBN,EAAa/C,KAAMmD,EAAKC,IACxBH,EAAajD,KAAMmD,EAAKC,IAGxB1D,EAAYyD,EAAIO,UAChBP,EAAIO,UAAYhB,SAGTS,EAAKC,GACZD,EAAKC,GAASC,EAAWlD,MAGzBgD,EAAIO,UAAYhE,GAEhByD,EAAKC,GAASC,EAAWlD,OAG3BoD,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAIhC,MAAO,wHASlB,OANK+B,GAAUZ,GACdA,EAAa3C,KAAMmD,EAAKC,EAAMC,EAAWM,KAErCH,GAAUX,GACdA,EAAa7C,KAAMmD,EAAKC,EAAMC,EAAWO,KAEnCT,GExFJX,EDkB2B3C,IASbgB,EAEAL,ECMlB,ICXAlB,GDDA,SAAmC6D,EAAKC,EAAMjD,GAC7CqC,EAAgBW,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZ5D,MAASA,KELX,IAAA6D,GAPA,SAAmB7D,GAClB,MAA0B,iBAAVA,GCAjBb,GCjBiB4B,OCAbvB,GCASE,GAMSH,UAAUC,SDkBhC,IEvBIoB,GAAcD,EACdI,GAASX,GACT0D,GFSJ,SAAe9D,GACd,IAEC,OADAR,GAASK,KAAMG,IACR,EACN,MAAQS,GACT,OAAO,IETLzB,GARiBU,IA2CrB,IAAAqE,GAhBA,SAAmB/D,GAClB,MAAsB,iBAAVA,IACNA,aAAiBe,KAGjB/B,GACG8E,GAAM9D,GAEoB,oBAAzBY,GAAaZ,MCnCpBgE,GAActE,GACduE,GAAWtD,GAkCf,ICOAuD,GAAAxE,GACAyE,GDfA,SAAmBnE,GAClB,OAASgE,GAAahE,IAAWiE,GAAUjE,ICgB5CiE,GAAAG,GAKAF,GAAAC,GAAA,cANA/D,IAOA8D,GAAAC,GAAA,WAAAF,IAKA,IAAA9E,GAAAgF,GCxBIE,GArBS3E,GAqBa4E,kBChCtBlC,GAAQ1C,EA0BZ,IC1BIyB,GAAOzB,EACP6E,GFoCaF,GEnCbG,GDiBJ,SAAoBvC,GACnB,OAAQG,GAAMH,KAAOA,GCKtB,IAAAwC,GAXA,SAAoBzE,GACnB,OACCA,EAAQmB,IACRnB,EAAQuE,IACRC,GAAOxE,IClBLmE,GAAWzE,GAAsCsE,YACjDQ,GAAQ7D,GA6BZ,IAAAkD,GAVA,SAAoB7D,GACnB,OACCmE,GAAUnE,IACVwE,GAAOxE,ICvBLmE,GAAWzE,GAAsCuE,SACjDO,GAAQ7D,GA6BZ,IAAAoD,GAVA,SAAoB/D,GACnB,OACCmE,GAAUnE,IACVwE,GAAOxE,EAAM0E,YCvBXV,GAActE,GACduE,GAAWtD,GAkCf,ICMAuD,GAAAxE,GACAiF,GDdA,SAAoB3E,GACnB,OAASgE,GAAahE,IAAWiE,GAAUjE,ICe5CiE,GAAAG,GAKAF,GAAAS,GAAA,cANAvE,IAOA8D,GAAAS,GAAA,WAAAV,IAKA,ICvDIU,GDuDJA,GCvDuDX,YA6BvD,IAAAH,GAVA,SAA+B7D,GAC9B,OACC2E,GAAW3E,IACXA,GAAS,GCtBP2E,GFuDJA,GEvDuDV,SA6BvD,IAAAF,GAVA,SAA+B/D,GAC9B,OACC2E,GAAW3E,IACXA,EAAM0E,WAAa,GCtBjBV,GAActE,GACduE,GAAWtD,GAsCf,ICGAuD,GAAAxE,GACAkF,GDXA,SAA+B5E,GAC9B,OAASgE,GAAahE,IAAWiE,GAAUjE,ICY5CiE,GAAAG,GAKAF,GAAAU,GAAA,cANAxE,IAOA8D,GAAAU,GAAA,WAAAX,IAKA,IAAA9E,GAAAyF,GCrCA,IAAAf,GAPA,SAAmB7D,GAClB,MAA0B,iBAAVA,GCbb0E,GCDUG,OAAOtF,UAAUmF,QDyB/B,IEvBI9D,GAAcD,EACdmD,GFUJ,SAAe9D,GACd,IAEC,OADA0E,GAAQ7E,KAAMG,IACP,EACN,MAAQS,GACT,OAAO,IEVLzB,GAPiBU,IA0CrB,IAAAqE,GAhBA,SAAmB/D,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6E,SAGjB7F,GACG8E,GAAM9D,GAEoB,oBAAzBY,GAAaZ,MClCpBgE,GAActE,GACduE,GAAWtD,GA0Bf,ICSAuD,GAAAxE,GACAoF,GDjBA,SAAmB9E,GAClB,OAASgE,GAAahE,IAAWiE,GAAUjE,ICkB5CiE,GAAAG,GAKAF,GAAAY,GAAA,cANA1E,IAOA8D,GAAAY,GAAA,WAAAb,IAKA,IAAA9E,GAAA2F,GClDIF,GAAuBlF,GAAmDsE,YAC1Ec,GAAWnE,GAAsCqD,YAwGrD,IClFA7E,GD6CA,SAAiB4F,EAAKC,GACrB,IAAIC,EACAC,EACJ,IAAMJ,GAAUC,GACf,MAAM,IAAIzB,UAAW,8DAAgEyB,EAAM,MAE5F,IAAMH,GAAsBI,GAC3B,MAAM,IAAI1B,UAAW,4EAA8E0B,EAAI,MAExG,GAAoB,IAAfD,EAAII,QAAsB,IAANH,EACxB,MAAO,GAGR,GAAKD,EAAII,OAASH,EA/EY5E,iBAgF7B,MAAM,IAAIgF,WAAY,iFAIvB,IAFAH,EAAM,GACNC,EAAMF,EAGY,IAAP,EAAJE,KACLD,GAAOF,GAIK,KADbG,KAAS,IAKTH,GAAOA,EAER,OAAOE,GE7EJI,GAAOnD,KAAKmD,KCtBZT,GAAuBlF,GAAmDsE,YAC1Ec,GAAWnE,GAAsCqD,YACjDsB,GAASlF,GACTiF,GDwBaA,GCwCjB,IC5CAlG,GDUA,SAAe4F,EAAKQ,EAAKC,GACxB,IAAIR,EACAS,EACJ,IAAMX,GAAUC,GACf,MAAM,IAAIzB,UAAW,8DAAgEyB,EAAM,MAE5F,IAAMH,GAAsBW,GAC3B,MAAM,IAAIjC,UAAW,4EAA8EiC,EAAM,MAE1G,GAAKG,UAAUP,OAAS,EAAI,CAE3B,IAAML,GADNW,EAAID,GAEH,MAAM,IAAIlC,UAAW,8DAAgEmC,EAAI,MAE1F,GAAkB,IAAbA,EAAEN,OACN,MAAM,IAAIC,WAAY,kEAGvBK,EAAI,IAEL,GAAKF,EAjDyBI,iBAkD7B,MAAM,IAAIP,WAAY,iFAGvB,OADAJ,GAAMO,EAAMR,EAAII,QAAWM,EAAEN,SACnB,EACFJ,GAERC,EAAIK,GAAML,GACHD,EAAMO,GAAQG,EAAGT,KE7DrBJ,GAAuBlF,GAAmDsE,YAC1Ec,GAAWnE,GAAsCqD,YACjDsB,GAASlF,GACTiF,GHwBaA,GGwCjB,IC5CAlG,GDUA,SAAe4F,EAAKQ,EAAKC,GACxB,IAAIR,EACAS,EACJ,IAAMX,GAAUC,GACf,MAAM,IAAIzB,UAAW,8DAAgEyB,EAAM,MAE5F,IAAMH,GAAsBW,GAC3B,MAAM,IAAIjC,UAAW,4EAA8EiC,EAAM,MAE1G,GAAKG,UAAUP,OAAS,EAAI,CAE3B,IAAML,GADNW,EAAID,GAEH,MAAM,IAAIlC,UAAW,8DAAgEmC,EAAI,MAE1F,GAAkB,IAAbA,EAAEN,OACN,MAAM,IAAIC,WAAY,sEAGvBK,EAAI,IAEL,GAAKF,EAjDyBI,iBAkD7B,MAAM,IAAIP,WAAY,iFAGvB,OADAJ,GAAMO,EAAMR,EAAII,QAAWM,EAAEN,SACnB,EACFJ,GAERC,EAAIK,GAAML,GACHM,GAAQG,EAAGT,GAAMD,IEjCzB,SAASa,GAAM3D,GAKd,IAJA,IACI4D,EADAd,EAAM,GAIF9C,EAAI,GAIV8C,GAHDc,EAAI5D,EAAI,MACRA,EAAIG,EAAOyD,IAEJ,IAAMd,EAEN,IAAMA,EAGd,OAAOA,EC+BR,SAASe,GAAiB7D,GACzB,IAAI8D,EACAC,EACAjB,EACAkB,EACAjB,EACAkB,EACAC,EASJ,GALCH,EADI/D,EAAI,GAAO,EAAIA,IAAMsC,EAClB,IAEA,IAGHtC,IAAMd,GAAQc,IAAMsC,EAIxB,OAAOyB,GAFPC,EAAMX,GAAQ,IA3EQ,KA4EtBP,EAAMO,GAAQ,IA7EW,KAiF1B,GAAKrD,GAAMA,EAIV,OAAO+D,GAFPC,EAAMX,GAAQ,IAlFQ,KAmFtBP,EAAM,IAAMO,GAAQ,IAAKc,KAI1B,GAAW,IAANnE,EAIJ,OAAO+D,GAFPC,EAAMX,GAAQ,IAzFQ,KA0FtBP,EAAMO,GAAQ,IA3FW,KA2G1B,GAPAY,GANAjE,EAAIE,EAAKF,KAGT+C,EAAI5C,EAAOH,IAMX+C,EAAIY,GAAMZ,GACVkB,EClGD,SAAgBjE,GACf,IAAI8C,EACAc,EACAM,EACAE,EAGJ,GADAtB,EAAM,GACK,IAAN9C,EACJ,OAAO8C,EAKR,IAHAsB,EA/Bc,IAkCRF,EAAI,EAAGA,EAlCC,OAmCbN,EAAQ,EAAJ5D,IACM,GACTA,EAAI4D,EAAI,EACRd,GAAO,IAtCK,MAuCPsB,IACJA,EAAIF,KAGLlE,EAAI4D,EACJd,GAAO,OAGG,IAANc,GAAaM,EAAEE,EA9CP,KAiCaF,KAkB3B,OAAOpB,EDmEHuB,CAAOJ,GAGNlB,EAEJiB,EAAMjB,EAAEG,OAAS,MACX,CAEN,IAAMgB,EAAI,EAAGA,EAAID,EAAEf,OAAQgB,IAC1B,GAAgB,MAAXD,EAAGC,GAAc,CACrBJ,EAAQI,EAAI,EACZ,MAIFF,GAAOF,EAwBR,OArBAhB,EAAMC,EAAIkB,EACLD,EAAM,GAELA,IE9GqB,MFgHzBF,EAAQQ,KAGTxB,EAAMA,EAAIyB,UAAWT,IAGrBhB,EAAMA,EAAIyB,UAAW,GAGtBP,EAAML,GAAMK,EEzHe,KFgIpBD,GANPC,EAAMQ,GAAMR,EAxIW,EAwIa,OAGpClB,EAAM2B,GAAM3B,EA5Ic,GA4Ia,KAAMyB,UAAW,EA5I9B"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index a061d7f..0000000 --- a/stats.html +++ /dev/null @@ -1,2689 +0,0 @@ - - - - - - - - RollUp Visualizer - - - -
- - - - - From 489a01feb834ff87bec5904841c1d7019273552b Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sat, 2 Jul 2022 03:19:30 +0000 Subject: [PATCH 007/146] Auto-generated commit --- .editorconfig | 181 -- .eslintrc.js | 1 - .gitattributes | 33 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 62 - .github/workflows/cancel.yml | 56 - .github/workflows/close_pull_requests.yml | 44 - .github/workflows/examples.yml | 62 - .github/workflows/npm_downloads.yml | 108 - .github/workflows/productionize.yml | 681 ------ .github/workflows/publish.yml | 157 -- .github/workflows/test.yml | 92 - .github/workflows/test_bundles.yml | 180 -- .github/workflows/test_coverage.yml | 123 - .github/workflows/test_install.yml | 83 - .gitignore | 178 -- .npmignore | 227 -- .npmrc | 28 - CHANGELOG.md | 5 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 ---- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 -- lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 2689 +++++++++++++++++++++ test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 -- 45 files changed, 2708 insertions(+), 3890 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0fd4d6c..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 7212d81..0000000 --- a/.gitattributes +++ /dev/null @@ -1,33 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index 5d39a17..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2022-07-01T01:20:33.293Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 29bf533..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index a7a7f51..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,56 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - uses: styfle/cancel-workflow-action@0.9.0 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index 576054a..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,44 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 39b1613..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout the repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 7ca169c..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,108 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '0 8 * * 6' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "::set-output name=package_name::$name" - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "::set-output name=data::$data" - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - uses: actions/upload-artifact@v2 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - uses: distributhor/workflow-webhook@v2 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 128c22e..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,681 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the repository: - push: - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - uses: actions/checkout@v3 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Format error messages: - - name: 'Replace double quotes with single quotes in rewritten format string error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\( \"([a-zA-Z0-9]+)\"/Error\( format\( '\1'/g" {} \; - - # Format string literal error messages: - - name: 'Replace double quotes with single quotes in rewritten string literal error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\(\"([a-zA-Z0-9]+)\"\)/Error\( format\( '\1' \)/g" {} \; - - # Format code: - - name: 'Replace double quotes with single quotes in inserted `require` calls' - run: | - find . -name "*.js" -exec sed -E -i "s/require\( ?\"@stdlib\/error-tools-fmtprodmsg\" ?\);/require\( '@stdlib\/error-tools-fmtprodmsg' \);/g" {} \; - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\"/\"@stdlib\/error-tools-fmtprodmsg\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^0.0.x'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "::set-output name=remote-exists::true" - else - echo "::set-output name=remote-exists::false" - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs rm -rf - - git add -A - git commit -m "Remove files" - - git merge -s recursive -X theirs origin/production --allow-unrelated-histories - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch or create new branch tag: - - name: 'Push changes to `deno` branch or create new branch tag' - run: | - SLUG=${{ github.repository }} - VERSION=$(echo ${{ github.ref }} | sed -E -n 's/refs\/tags\/?(v[0-9]+.[0-9]+.[0-9]+).*/\1/p') - if [ -z "$VERSION" ]; then - echo "Workflow job was not triggered by a new tag...." - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - else - echo "Workflow job was triggered by a new tag: $VERSION" - echo "Creating new bundle branch tag of the form $VERSION-deno" - git tag -a $VERSION-deno -m "$VERSION-deno" - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" $VERSION-deno - fi - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - uses: act10ns/slack@v1 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "::set-output name=remote-exists::true" - else - echo "::set-output name=remote-exists::false" - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs rm -rf - - git add -A - git commit -m "Remove files" - - git merge -s recursive -X theirs origin/production --allow-unrelated-histories - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "::set-output name=alias::${alias}" - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 279ee79778592571a2ca2384e9e4222c49d2912c Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 4 Jul 2022 14:41:00 +0000 Subject: [PATCH 008/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index a7454fb..bdeaf59 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.0.x", "@stdlib/string-left-pad": "^0.0.x", "@stdlib/string-repeat": "^0.0.x", - "@stdlib/string-right-pad": "^0.0.x" + "@stdlib/string-right-pad": "^0.0.x", + "@stdlib/error-tools-fmtprodmsg": "^0.0.x" }, "devDependencies": { "@stdlib/assert-is-string": "^0.0.x", @@ -98,4 +99,4 @@ "type": "patreon", "url": "https://www.patreon.com/athan" } -} +} \ No newline at end of file From 31d199cab9f64bff33c637564eced91b84424b38 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 4 Jul 2022 15:24:29 +0000 Subject: [PATCH 009/146] Remove files --- mod.d.ts | 78 -- mod.js | 4 - mod.js.map | 1 - stats.html | 2689 ---------------------------------------------------- 4 files changed, 2772 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 1881a26..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 2.0 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index fdb9d18..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2022 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r=function(){return"function"==typeof Symbol&&"symbol"==typeof Symbol("foo")}();var t=function(){return r&&"symbol"==typeof Symbol.toStringTag},e=Object.prototype.toString,n=e;var i=function(r){return n.call(r)},a=Object.prototype.hasOwnProperty;var o=function(r,t){return null!=r&&a.call(r,t)},u="function"==typeof Symbol?Symbol.toStringTag:"",l=o,f=u,c=e;var v=function(r){var t,e,n;if(null==r)return c.call(r);e=r[f],t=l(r,f);try{r[f]=void 0}catch(t){return c.call(r)}return n=c.call(r),t?r[f]=e:delete r[f],n},g=i,m=v,s=t()?m:g,y=s,p="function"==typeof Float32Array;var b=function(r){return p&&r instanceof Float32Array||"[object Float32Array]"===y(r)},h=Number.POSITIVE_INFINITY,w="function"==typeof Float32Array?Float32Array:null,d=b,_=h,j=w;var E="function"==typeof Float32Array?Float32Array:void 0,O=function(){throw new Error("not implemented")},P=function(){var r,t;if("function"!=typeof j)return!1;try{t=new j([1,3.14,-3.14,5e40]),r=d(t)&&1===t[0]&&3.140000104904175===t[1]&&-3.140000104904175===t[2]&&t[3]===_}catch(t){r=!1}return r}()?E:O,S=s,T="function"==typeof Uint32Array;var A="function"==typeof Uint32Array?Uint32Array:null,F=function(r){return T&&r instanceof Uint32Array||"[object Uint32Array]"===S(r)},V=A;var I="function"==typeof Uint32Array?Uint32Array:void 0,x=function(){throw new Error("not implemented")},N=function(){var r,t;if("function"!=typeof V)return!1;try{t=new V(t=[1,3.14,-3.14,4294967296,4294967297]),r=F(t)&&1===t[0]&&3===t[1]&&4294967293===t[2]&&0===t[3]&&1===t[4]}catch(t){r=!1}return r}()?I:x,U=N,R=new P(1);new U(R.buffer)[0]=2139095040;var k=R[0],G=N,M=new P(1);new G(M.buffer)[0]=4286578688;var Y=M[0];var C=function(r){return Math.abs(r)},q=Math.floor,z="function"==typeof Object.defineProperty?Object.defineProperty:null;var B=function(){try{return z({},"x",{}),!0}catch(r){return!1}},D=Object.defineProperty,H=Object.prototype,J=H.toString,K=H.__defineGetter__,L=H.__defineSetter__,Q=H.__lookupGetter__,W=H.__lookupSetter__;var X=D,Z=function(r,t,e){var n,i,a,o;if("object"!=typeof r||null===r||"[object Array]"===J.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof e||null===e||"[object Array]"===J.call(e))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+e+"`.");if((i="value"in e)&&(Q.call(r,t)||W.call(r,t)?(n=r.__proto__,r.__proto__=H,delete r[t],r[t]=e.value,r.__proto__=n):r[t]=e.value),a="get"in e,o="set"in e,i&&(a||o))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return a&&K&&K.call(r,t,e.get),o&&L&&L.call(r,t,e.set),r},$=B()?X:Z;var rr=function(r,t,e){$(r,t,{configurable:!1,enumerable:!1,writable:!1,value:e})};var tr=function(r){return"number"==typeof r},er=Number,nr=er.prototype.toString;var ir=s,ar=er,or=function(r){try{return nr.call(r),!0}catch(r){return!1}},ur=t();var lr=function(r){return"object"==typeof r&&(r instanceof ar||(ur?or(r):"[object Number]"===ir(r)))},fr=tr,cr=lr;var vr=rr,gr=function(r){return fr(r)||cr(r)},mr=lr;vr(gr,"isPrimitive",tr),vr(gr,"isObject",mr);var sr=gr,yr=er.NEGATIVE_INFINITY,pr=q;var br=h,hr=yr,wr=function(r){return pr(r)===r};var dr=function(r){return rhr&&wr(r)},_r=sr.isPrimitive,jr=dr;var Er=function(r){return _r(r)&&jr(r)},Or=sr.isObject,Pr=dr;var Sr=function(r){return Or(r)&&Pr(r.valueOf())},Tr=Er,Ar=Sr;var Fr=rr,Vr=function(r){return Tr(r)||Ar(r)},Ir=Sr;Fr(Vr,"isPrimitive",Er),Fr(Vr,"isObject",Ir);var xr=Vr.isPrimitive;var Nr=function(r){return xr(r)&&r>=0},Ur=Vr.isObject;var Rr=function(r){return Ur(r)&&r.valueOf()>=0},kr=Nr,Gr=Rr;var Mr=rr,Yr=function(r){return kr(r)||Gr(r)},Cr=Rr;Mr(Yr,"isPrimitive",Nr),Mr(Yr,"isObject",Cr);var qr=Yr;var zr=function(r){return"string"==typeof r},Br=String.prototype.valueOf;var Dr=s,Hr=function(r){try{return Br.call(r),!0}catch(r){return!1}},Jr=t();var Kr=function(r){return"object"==typeof r&&(r instanceof String||(Jr?Hr(r):"[object String]"===Dr(r)))},Lr=zr,Qr=Kr;var Wr=rr,Xr=function(r){return Lr(r)||Qr(r)},Zr=Kr;Wr(Xr,"isPrimitive",zr),Wr(Xr,"isObject",Zr);var $r=Xr,rt=qr.isPrimitive,tt=$r.isPrimitive;var et=function(r,t){var e,n;if(!tt(r))throw new TypeError("invalid argument. First argument must be a string. Value: `"+r+"`.");if(!rt(t))throw new TypeError("invalid argument. Second argument must be a nonnegative integer. Value: `"+t+"`.");if(0===r.length||0===t)return"";if(r.length*t>9007199254740991)throw new RangeError("invalid argument. Output string length exceeds maximum allowed string length.");for(e="",n=t;1==(1&n)&&(e+=r),0!==(n>>>=1);)r+=r;return e},nt=Math.ceil,it=qr.isPrimitive,at=$r.isPrimitive,ot=et,ut=nt;var lt=function(r,t,e){var n,i;if(!at(r))throw new TypeError("invalid argument. First argument must be a string. Value: `"+r+"`.");if(!it(t))throw new TypeError("invalid argument. Second argument must be a nonnegative integer. Value: `"+t+"`.");if(arguments.length>2){if(!at(i=e))throw new TypeError("invalid argument. Third argument must be a string. Value: `"+i+"`.");if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(t>9007199254740991)throw new RangeError("invalid argument. Output string length exceeds maximum allowed string length.");return(n=(t-r.length)/i.length)<=0?r:(n=ut(n),r+ot(i,n))},ft=qr.isPrimitive,ct=$r.isPrimitive,vt=et,gt=nt;var mt=function(r,t,e){var n,i;if(!ct(r))throw new TypeError("invalid argument. First argument must be a string. Value: `"+r+"`.");if(!ft(t))throw new TypeError("invalid argument. Second argument must be a nonnegative integer. Value: `"+t+"`.");if(arguments.length>2){if(!ct(i=e))throw new TypeError("invalid argument. Third argument must be a string. Value: `"+i+"`.");if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(t>9007199254740991)throw new RangeError("invalid argument. Output string length exceeds maximum allowed string length.");return(n=(t-r.length)/i.length)<=0?r:(n=gt(n),vt(i,n)+r)};function st(r){for(var t,e="";r>0;)e=(t=r/2)===(r=q(t))?"0"+e:"1"+e;return e}function yt(r){var t,e,n,i,a,o,u;if(e=r<0||1/r===Y?"1":"0",r===k||r===Y)return e+(i=et("1",8))+(n=et("0",23));if(r!=r)return e+(i=et("1",8))+(n="1"+et("0",22));if(0===r)return e+(i=et("0",8))+(n=et("0",23));if(o=(r=C(r))-(a=q(r)),a=st(a),o=function(r){var t,e,n,i;if(t="",0===r)return t;for(i=149,n=0;n<149&&((e=2*r)>=1?(r=e-1,t+="1",149===i&&(i=n)):(r=e,t+="0"),!(1===e||n-i>24));n++);return t}(o),a)i=a.length-1;else{for(u=0;u\n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasSymbols = require( '@stdlib/assert-has-symbol-support' );\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `toStringTag` support.\n*\n* @module @stdlib/assert-has-tostringtag-support\n*\n* @example\n* var hasToStringTagSupport = require( '@stdlib/assert-has-tostringtag-support' );\n*\n* var bool = hasToStringTagSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasToStringTagSupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nmodule.exports = toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar toStr = require( './tostring.js' );\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nmodule.exports = nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has a specified property.\n*\n* @module @stdlib/assert-has-own-property\n*\n* @example\n* var hasOwnProp = require( '@stdlib/assert-has-own-property' );\n*\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* bool = hasOwnProp( beep, 'bop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasOwnProp = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nmodule.exports = toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( '@stdlib/assert-has-own-property' );\nvar toStringTag = require( './tostringtag.js' );\nvar toStr = require( './tostring.js' );\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nmodule.exports = nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* var nativeClass = require( '@stdlib/utils-native-class' );\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nvar hasToStringTag = require( '@stdlib/assert-has-tostringtag-support' );\nvar builtin = require( './native_class.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nmodule.exports = nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils-native-class' );\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Float32Array.\n*\n* @module @stdlib/assert-is-float32array\n*\n* @example\n* var isFloat32Array = require( '@stdlib/assert-is-float32array' );\n*\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* bool = isFloat32Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat32Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* var FLOAT64_PINF = require( '@stdlib/constants-float64-pinf' );\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFloat32Array = require( '@stdlib/assert-is-float32array' );\nvar PINF = require( '@stdlib/constants-float64-pinf' );\nvar GlobalFloat32Array = require( './float32array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* var ctor = require( '@stdlib/array-float32' );\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nvar hasFloat32ArraySupport = require( '@stdlib/assert-has-float32array-support' );\nvar builtin = require( './float32array.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils-native-class' );\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint32Array = require( '@stdlib/assert-is-uint32array' );\nvar UINT32_MAX = require( '@stdlib/constants-uint32-max' );\nvar GlobalUint32Array = require( './uint32array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* var ctor = require( '@stdlib/array-uint32' );\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nvar hasUint32ArraySupport = require( '@stdlib/assert-has-uint32array-support' );\nvar builtin = require( './uint32array.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* var FLOAT32_PINF = require( '@stdlib/constants-float32-pinf' );\n* // returns +infinity\n*/\n\n// MODULES //\n\nvar Float32Array = require( '@stdlib/array-float32' );\nvar Uint32Array = require( '@stdlib/array-uint32' );\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nmodule.exports = v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* var FLOAT32_NINF = require( '@stdlib/constants-float32-ninf' );\n* // returns -infinity\n*/\n\n// MODULES //\n\nvar Float32Array = require( '@stdlib/array-float32' );\nvar Uint32Array = require( '@stdlib/array-uint32' );\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nmodule.exports = v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nmodule.exports = abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Compute an absolute value of a double-precision floating-point number.\n*\n* @module @stdlib/math-base-special-abs\n*\n* @example\n* var abs = require( '@stdlib/math-base-special-abs' );\n*\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* v = abs( 2.0 );\n* // returns 2.0\n*\n* v = abs( 0.0 );\n* // returns 0.0\n*\n* v = abs( -0.0 );\n* // returns 0.0\n*\n* v = abs( NaN );\n* // returns NaN\n*/\n\n// MODULES //\n\nvar abs = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Round a double-precision floating-point number toward negative infinity.\n*\n* @module @stdlib/math-base-special-floor\n*\n* @example\n* var floor = require( '@stdlib/math-base-special-floor' );\n*\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* v = floor( 9.99999 );\n* // returns 9.0\n*\n* v = floor( 0.0 );\n* // returns 0.0\n*\n* v = floor( NaN );\n* // returns NaN\n*/\n\n// MODULES //\n\nvar floor = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nmodule.exports = floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar defineProperty = require( './define_property.js' );\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nmodule.exports = defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nmodule.exports = defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils-define-property' );\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nvar hasDefinePropertySupport = require( './has_define_property_support.js' );\nvar builtin = require( './builtin.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar defineProperty = require( '@stdlib/utils-define-property' );\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nmodule.exports = setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define a non-enumerable read-only property.\n*\n* @module @stdlib/utils-define-nonenumerable-read-only-property\n*\n* @example\n* var setNonEnumerableReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\n*\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\n\n// MODULES //\n\nvar setNonEnumerableReadOnly = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Constructor which returns a `Number` object.\n*\n* @module @stdlib/number-ctor\n*\n* @example\n* var Number = require( '@stdlib/number-ctor' );\n*\n* var v = new Number( 10.0 );\n* // returns \n*/\n\n// MODULES //\n\nvar Number = require( './number.js' );\n\n\n// EXPORTS //\n\nmodule.exports = Number;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nmodule.exports = Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar toString = require( './tostring.js' ); // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Number = require( '@stdlib/number-ctor' );\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( '@stdlib/assert-has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils-native-class' );\nvar Number = require( '@stdlib/number-ctor' );\nvar test = require( './try2serialize.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* var isNumber = require( '@stdlib/assert-is-number' );\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* var isNumber = require( '@stdlib/assert-is-number' ).isPrimitive;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* var isNumber = require( '@stdlib/assert-is-number' ).isObject;\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar isNumber = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* var FLOAT64_NINF = require( '@stdlib/constants-float64-ninf' );\n* // returns -Infinity\n*/\n\n// MODULES //\n\nvar Number = require( '@stdlib/number-ctor' );\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nmodule.exports = FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar floor = require( '@stdlib/math-base-special-floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar PINF = require( '@stdlib/constants-float64-pinf' );\nvar NINF = require( '@stdlib/constants-float64-ninf' );\nvar isInt = require( '@stdlib/math-base-assert-is-integer' );\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( '@stdlib/assert-is-number' ).isPrimitive;\nvar isInt = require( './integer.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( '@stdlib/assert-is-number' ).isObject;\nvar isInt = require( './integer.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* var isInteger = require( '@stdlib/assert-is-integer' );\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* var isInteger = require( '@stdlib/assert-is-integer' ).isPrimitive;\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* var isInteger = require( '@stdlib/assert-is-integer' ).isObject;\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar isInteger = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( '@stdlib/assert-is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( '@stdlib/assert-is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' );\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isPrimitive;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isObject;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar isNonNegativeInteger = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar valueOf = require( './valueof.js' ); // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( '@stdlib/assert-has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils-native-class' );\nvar test = require( './try2valueof.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* var isString = require( '@stdlib/assert-is-string' );\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* var isString = require( '@stdlib/assert-is-string' ).isObject;\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* var isString = require( '@stdlib/assert-is-string' ).isPrimitive;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar isString = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isPrimitive;\nvar isString = require( '@stdlib/assert-is-string' ).isPrimitive;\nvar FLOAT64_MAX_SAFE_INTEGER = require( '@stdlib/constants-float64-max-safe-integer' );\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string primitive\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be a string. Value: `' + str + '`.' );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( 'invalid argument. Second argument must be a nonnegative integer. Value: `' + n + '`.' );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( 'invalid argument. Output string length exceeds maximum allowed string length.' );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nmodule.exports = repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-repeat\n*\n* @example\n* var replace = require( '@stdlib/string-repeat' );\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nvar repeat = require( './repeat.js' );\n\n\n// EXPORTS //\n\nmodule.exports = repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nmodule.exports = ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isPrimitive;\nvar isString = require( '@stdlib/assert-is-string' ).isPrimitive;\nvar repeat = require( '@stdlib/string-repeat' );\nvar ceil = require( '@stdlib/math-base-special-ceil' );\nvar FLOAT64_MAX_SAFE_INTEGER = require( '@stdlib/constants-float64-max-safe-integer' );\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be a string. Value: `' + str + '`.' );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( 'invalid argument. Second argument must be a nonnegative integer. Value: `' + len + '`.' );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( 'invalid argument. Third argument must be a string. Value: `' + p + '`.' );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( 'invalid argument. Output string length exceeds maximum allowed string length.' );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nmodule.exports = rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Right pad a string such that the padded string has a length of at least `len`.\n*\n* @module @stdlib/string-right-pad\n*\n* @example\n* var rpad = require( '@stdlib/string-right-pad' );\n*\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\n\n// MODULES //\n\nvar rpad = require( './right_pad.js' );\n\n\n// EXPORTS //\n\nmodule.exports = rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isPrimitive;\nvar isString = require( '@stdlib/assert-is-string' ).isPrimitive;\nvar repeat = require( '@stdlib/string-repeat' );\nvar ceil = require( '@stdlib/math-base-special-ceil' );\nvar FLOAT64_MAX_SAFE_INTEGER = require( '@stdlib/constants-float64-max-safe-integer' );\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be a string. Value: `' + str + '`.' );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( 'invalid argument. Second argument must be a nonnegative integer. Value: `' + len + '`.' );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( 'invalid argument. Third argument must be a string. Value: `' + p + '`.' );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( 'invalid argument. Output string length exceeds maximum allowed string length.' );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nmodule.exports = lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Left pad a string such that the padded string has a length of at least `len`.\n*\n* @module @stdlib/string-left-pad\n*\n* @example\n* var lpad = require( '@stdlib/string-left-pad' );\n*\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\n\n// MODULES //\n\nvar lpad = require( './left_pad.js' );\n\n\n// EXPORTS //\n\nmodule.exports = lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor' ;\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf' ;\nimport NINF from '@stdlib/constants-float32-ninf' ;\nimport BIAS from '@stdlib/constants-float32-exponent-bias' ;\nimport abs from '@stdlib/math-base-special-abs' ;\nimport floor from '@stdlib/math-base-special-floor' ;\nimport rpad from '@stdlib/string-right-pad' ;\nimport lpad from '@stdlib/string-left-pad' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport div2 from './div2.js' ;\nimport mult2 from './mult2.js' ;\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf' ;\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf' ;\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* var FLOAT32_EXPONENT_BIAS = require( '@stdlib/constants-float32-exponent-bias' );\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nmodule.exports = FLOAT32_EXPONENT_BIAS;\n"],"names":["FLG","Symbol","hasSymbols","lib","toStringTag","tostring","Object","prototype","toString","toStr","require$$0","native_class","v","call","has","hasOwnProperty","value","property","toStrTag","hasOwnProp","require$$2","polyfill","isOwn","tag","out","err","builtin","require$$1","nativeClass","hasFloat32Array","Float32Array","Number","POSITIVE_INFINITY","main","isFloat32Array","PINF","GlobalFloat32Array","Error","bool","arr","hasFloat32ArraySupport","hasUint32Array","Uint32Array","isUint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","x","Math","abs","floor","defineProperty","has_define_property_support","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","configurable","enumerable","writable","primitive","test","object","isPrimitive","isObject","setReadOnly","isNumber","require$$3","FLOAT64_NINF","NEGATIVE_INFINITY","NINF","isInt","integer","valueOf","isInteger","isNonNegativeInteger","String","isString","str","n","rpt","cnt","length","RangeError","ceil","repeat","len","pad","p","arguments","require$$4","div2","y","toBinaryStringf","nbits","sign","exp","f","i","NUM_SIGNIFICAND_BITS","j","mult2","BIAS","substring","lpad","rpad"],"mappings":";;AAyCA,ICdIA,EDIJ,WACC,MACmB,mBAAXC,QACoB,iBAApBA,OAAQ,OCPPC,GAqBV,ICTAC,EDEA,WACC,OAASH,GAAqC,iBAAvBC,OAAOG,aEf/BC,EALYC,OAAOC,UAAUC,SCAzBC,EAAQC,EAiCZ,IAAAC,EAPA,SAAsBC,GACrB,OAAOH,EAAMI,KAAMD,IC3BhBE,EAAMR,OAAOC,UAAUQ,eAyC3B,ICjBAZ,EDIA,SAAqBa,EAAOC,GAC3B,OACCD,SAKMF,EAAID,KAAMG,EAAOC,IEnCrBC,EAA+B,mBAAXjB,OAA0BA,OAAOG,YAAc,GCAnEe,EAAaT,EACbN,EDIac,ECHbT,EAAQW,EAwDZ,IAAAC,EA9BA,SAAsBT,GACrB,IAAIU,EACAC,EACAC,EAEJ,GAAKZ,QACJ,OAAOH,EAAMI,KAAMD,GAEpBW,EAAMX,EAAGR,GACTkB,EAAQH,EAAYP,EAAGR,GAGvB,IACCQ,EAAGR,QAAgB,EAClB,MAAQqB,GACT,OAAOhB,EAAMI,KAAMD,GASpB,OAPAY,EAAMf,EAAMI,KAAMD,GAEbU,EACJV,EAAGR,GAAgBmB,SAEZX,EAAGR,GAEJoB,GC9BJE,EAAUC,EACVN,EAAWD,EAefjB,EAjBqBO,IASNW,EAEAK,EChCXE,EAAclB,EAKdmB,EAA4C,mBAAjBC,aA6B/B,ICdA3B,EDIA,SAAyBa,GACxB,OACGa,GAAmBb,aAAiBc,cACb,0BAAzBF,EAAaZ,IEMfb,EALmB4B,OAAOC,kBC5BtBC,EAAiC,mBAAjBH,aAAgCA,aAAe,KCA/DI,EAAiBxB,EACjByB,EAAOR,EACPS,EDGaH,EESjB,ICDIP,ECbiC,mBAAjBI,aAAgCA,kBAAe,EDc/DT,EDPJ,WACC,MAAM,IAAIgB,MAAO,oBCqBlBlC,EFbA,WACC,IAAImC,EACAC,EAEJ,GAAmC,mBAAvBH,EACX,OAAO,EAGR,IACCG,EAAM,IAAIH,EAAoB,CAAE,EAAK,MAAO,KAAM,OAClDE,EACCJ,EAAgBK,IACH,IAAbA,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQJ,EAEb,MAAQV,GACTa,GAAO,EAER,OAAOA,EEhBHE,GACGd,EAEAL,EEvBJO,EAAclB,EAKd+B,EAA0C,mBAAhBC,YA6B9B,IClCIT,EAAgC,mBAAhBS,YAA+BA,YAAc,KCA7DC,EFwBJ,SAAwB3B,GACvB,OACGyB,GAAkBzB,aAAiB0B,aACZ,yBAAzBd,EAAaZ,IEzBX4B,EDGaX,EESjB,ICDIP,ECbgC,mBAAhBgB,YAA+BA,iBAAc,EDc7DrB,EDPJ,WACC,MAAM,IAAIgB,MAAO,oBCqBlBlC,EFbA,WACC,IAAImC,EACAC,EAEJ,GAAkC,mBAAtBK,EACX,OAAO,EAGR,IAECL,EAAM,IAAIK,EADVL,EAAM,CAAE,EAAG,MAAO,KAAMM,WAAcA,aAEtCP,EACCK,EAAeJ,IACF,IAAbA,EAAK,IACQ,IAAbA,EAAK,IACQM,aAAbN,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,GAEL,MAAQd,GACTa,GAAO,EAER,OAAOA,EElBHQ,GACGpB,EAEAL,EEXJqB,EAAcf,EAKdoB,EAAe,IANArC,EAMkB,GACnB,IAAIgC,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAA7C,EALI4C,EAAc,GCnCdL,EAAcf,EAKdoB,EAAe,IANArC,EAMkB,GACnB,IAAIgC,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAA7C,EALI4C,EAAc,GCdlB,ICJA5C,EDHA,SAAc8C,GACb,OAAOC,KAAKC,IAAKF,IEDlB9C,ECJY+C,KAAKE,MCtBbC,ECA0C,mBAA1B/C,OAAO+C,eAAkC/C,OAAO+C,eAAiB,KD4BrF,IAAAC,EAbA,WAEC,IAEC,OADAD,EAAgB,GAAI,IAAK,KAClB,EACN,MAAQ5B,GACT,OAAO,IEiBTC,EALqBpB,OAAO+C,eC/BxBE,EAAiBjD,OAAOC,UACxBE,EAAQ8C,EAAe/C,SACvBgD,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBAuFlC,IC3EIrC,EAAUC,EACVN,EDuBJ,SAAyB2C,EAAKC,EAAMC,GACnC,IAAI3D,EACA4D,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBvD,EAAMI,KAAMmD,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7BzD,EAAMI,KAAMqD,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBN,EAAa/C,KAAMmD,EAAKC,IACxBH,EAAajD,KAAMmD,EAAKC,IAGxB1D,EAAYyD,EAAIO,UAChBP,EAAIO,UAAYhB,SAGTS,EAAKC,GACZD,EAAKC,GAASC,EAAWlD,MAGzBgD,EAAIO,UAAYhE,GAEhByD,EAAKC,GAASC,EAAWlD,OAG3BoD,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAIhC,MAAO,wHASlB,OANK+B,GAAUZ,GACdA,EAAa3C,KAAMmD,EAAKC,EAAMC,EAAWM,KAErCH,GAAUX,GACdA,EAAa7C,KAAMmD,EAAKC,EAAMC,EAAWO,KAEnCT,GExFJX,EDkB2B3C,IASbgB,EAEAL,ECMlB,ICXAlB,GDDA,SAAmC6D,EAAKC,EAAMjD,GAC7CqC,EAAgBW,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZ5D,MAASA,KELX,IAAA6D,GAPA,SAAmB7D,GAClB,MAA0B,iBAAVA,GCAjBb,GCjBiB4B,OCAbvB,GCASE,GAMSH,UAAUC,SDkBhC,IEvBIoB,GAAcD,EACdI,GAASX,GACT0D,GFSJ,SAAe9D,GACd,IAEC,OADAR,GAASK,KAAMG,IACR,EACN,MAAQS,GACT,OAAO,IETLzB,GARiBU,IA2CrB,IAAAqE,GAhBA,SAAmB/D,GAClB,MAAsB,iBAAVA,IACNA,aAAiBe,KAGjB/B,GACG8E,GAAM9D,GAEoB,oBAAzBY,GAAaZ,MCnCpBgE,GAActE,GACduE,GAAWtD,GAkCf,ICOAuD,GAAAxE,GACAyE,GDfA,SAAmBnE,GAClB,OAASgE,GAAahE,IAAWiE,GAAUjE,ICgB5CiE,GAAAG,GAKAF,GAAAC,GAAA,cANA/D,IAOA8D,GAAAC,GAAA,WAAAF,IAKA,IAAA9E,GAAAgF,GCxBIE,GArBS3E,GAqBa4E,kBChCtBlC,GAAQ1C,EA0BZ,IC1BIyB,GAAOzB,EACP6E,GFoCaF,GEnCbG,GDiBJ,SAAoBvC,GACnB,OAAQG,GAAMH,KAAOA,GCKtB,IAAAwC,GAXA,SAAoBzE,GACnB,OACCA,EAAQmB,IACRnB,EAAQuE,IACRC,GAAOxE,IClBLmE,GAAWzE,GAAsCsE,YACjDQ,GAAQ7D,GA6BZ,IAAAkD,GAVA,SAAoB7D,GACnB,OACCmE,GAAUnE,IACVwE,GAAOxE,ICvBLmE,GAAWzE,GAAsCuE,SACjDO,GAAQ7D,GA6BZ,IAAAoD,GAVA,SAAoB/D,GACnB,OACCmE,GAAUnE,IACVwE,GAAOxE,EAAM0E,YCvBXV,GAActE,GACduE,GAAWtD,GAkCf,ICMAuD,GAAAxE,GACAiF,GDdA,SAAoB3E,GACnB,OAASgE,GAAahE,IAAWiE,GAAUjE,ICe5CiE,GAAAG,GAKAF,GAAAS,GAAA,cANAvE,IAOA8D,GAAAS,GAAA,WAAAV,IAKA,ICvDIU,GDuDJA,GCvDuDX,YA6BvD,IAAAH,GAVA,SAA+B7D,GAC9B,OACC2E,GAAW3E,IACXA,GAAS,GCtBP2E,GFuDJA,GEvDuDV,SA6BvD,IAAAF,GAVA,SAA+B/D,GAC9B,OACC2E,GAAW3E,IACXA,EAAM0E,WAAa,GCtBjBV,GAActE,GACduE,GAAWtD,GAsCf,ICGAuD,GAAAxE,GACAkF,GDXA,SAA+B5E,GAC9B,OAASgE,GAAahE,IAAWiE,GAAUjE,ICY5CiE,GAAAG,GAKAF,GAAAU,GAAA,cANAxE,IAOA8D,GAAAU,GAAA,WAAAX,IAKA,IAAA9E,GAAAyF,GCrCA,IAAAf,GAPA,SAAmB7D,GAClB,MAA0B,iBAAVA,GCbb0E,GCDUG,OAAOtF,UAAUmF,QDyB/B,IEvBI9D,GAAcD,EACdmD,GFUJ,SAAe9D,GACd,IAEC,OADA0E,GAAQ7E,KAAMG,IACP,EACN,MAAQS,GACT,OAAO,IEVLzB,GAPiBU,IA0CrB,IAAAqE,GAhBA,SAAmB/D,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6E,SAGjB7F,GACG8E,GAAM9D,GAEoB,oBAAzBY,GAAaZ,MClCpBgE,GAActE,GACduE,GAAWtD,GA0Bf,ICSAuD,GAAAxE,GACAoF,GDjBA,SAAmB9E,GAClB,OAASgE,GAAahE,IAAWiE,GAAUjE,ICkB5CiE,GAAAG,GAKAF,GAAAY,GAAA,cANA1E,IAOA8D,GAAAY,GAAA,WAAAb,IAKA,IAAA9E,GAAA2F,GClDIF,GAAuBlF,GAAmDsE,YAC1Ec,GAAWnE,GAAsCqD,YAwGrD,IClFA7E,GD6CA,SAAiB4F,EAAKC,GACrB,IAAIC,EACAC,EACJ,IAAMJ,GAAUC,GACf,MAAM,IAAIzB,UAAW,8DAAgEyB,EAAM,MAE5F,IAAMH,GAAsBI,GAC3B,MAAM,IAAI1B,UAAW,4EAA8E0B,EAAI,MAExG,GAAoB,IAAfD,EAAII,QAAsB,IAANH,EACxB,MAAO,GAGR,GAAKD,EAAII,OAASH,EA/EY5E,iBAgF7B,MAAM,IAAIgF,WAAY,iFAIvB,IAFAH,EAAM,GACNC,EAAMF,EAGY,IAAP,EAAJE,KACLD,GAAOF,GAIK,KADbG,KAAS,IAKTH,GAAOA,EAER,OAAOE,GE7EJI,GAAOnD,KAAKmD,KCtBZT,GAAuBlF,GAAmDsE,YAC1Ec,GAAWnE,GAAsCqD,YACjDsB,GAASlF,GACTiF,GDwBaA,GCwCjB,IC5CAlG,GDUA,SAAe4F,EAAKQ,EAAKC,GACxB,IAAIR,EACAS,EACJ,IAAMX,GAAUC,GACf,MAAM,IAAIzB,UAAW,8DAAgEyB,EAAM,MAE5F,IAAMH,GAAsBW,GAC3B,MAAM,IAAIjC,UAAW,4EAA8EiC,EAAM,MAE1G,GAAKG,UAAUP,OAAS,EAAI,CAE3B,IAAML,GADNW,EAAID,GAEH,MAAM,IAAIlC,UAAW,8DAAgEmC,EAAI,MAE1F,GAAkB,IAAbA,EAAEN,OACN,MAAM,IAAIC,WAAY,kEAGvBK,EAAI,IAEL,GAAKF,EAjDyBI,iBAkD7B,MAAM,IAAIP,WAAY,iFAGvB,OADAJ,GAAMO,EAAMR,EAAII,QAAWM,EAAEN,SACnB,EACFJ,GAERC,EAAIK,GAAML,GACHD,EAAMO,GAAQG,EAAGT,KE7DrBJ,GAAuBlF,GAAmDsE,YAC1Ec,GAAWnE,GAAsCqD,YACjDsB,GAASlF,GACTiF,GHwBaA,GGwCjB,IC5CAlG,GDUA,SAAe4F,EAAKQ,EAAKC,GACxB,IAAIR,EACAS,EACJ,IAAMX,GAAUC,GACf,MAAM,IAAIzB,UAAW,8DAAgEyB,EAAM,MAE5F,IAAMH,GAAsBW,GAC3B,MAAM,IAAIjC,UAAW,4EAA8EiC,EAAM,MAE1G,GAAKG,UAAUP,OAAS,EAAI,CAE3B,IAAML,GADNW,EAAID,GAEH,MAAM,IAAIlC,UAAW,8DAAgEmC,EAAI,MAE1F,GAAkB,IAAbA,EAAEN,OACN,MAAM,IAAIC,WAAY,sEAGvBK,EAAI,IAEL,GAAKF,EAjDyBI,iBAkD7B,MAAM,IAAIP,WAAY,iFAGvB,OADAJ,GAAMO,EAAMR,EAAII,QAAWM,EAAEN,SACnB,EACFJ,GAERC,EAAIK,GAAML,GACHM,GAAQG,EAAGT,GAAMD,IEjCzB,SAASa,GAAM3D,GAKd,IAJA,IACI4D,EADAd,EAAM,GAIF9C,EAAI,GAIV8C,GAHDc,EAAI5D,EAAI,MACRA,EAAIG,EAAOyD,IAEJ,IAAMd,EAEN,IAAMA,EAGd,OAAOA,EC+BR,SAASe,GAAiB7D,GACzB,IAAI8D,EACAC,EACAjB,EACAkB,EACAjB,EACAkB,EACAC,EASJ,GALCH,EADI/D,EAAI,GAAO,EAAIA,IAAMsC,EAClB,IAEA,IAGHtC,IAAMd,GAAQc,IAAMsC,EAIxB,OAAOyB,GAFPC,EAAMX,GAAQ,IA3EQ,KA4EtBP,EAAMO,GAAQ,IA7EW,KAiF1B,GAAKrD,GAAMA,EAIV,OAAO+D,GAFPC,EAAMX,GAAQ,IAlFQ,KAmFtBP,EAAM,IAAMO,GAAQ,IAAKc,KAI1B,GAAW,IAANnE,EAIJ,OAAO+D,GAFPC,EAAMX,GAAQ,IAzFQ,KA0FtBP,EAAMO,GAAQ,IA3FW,KA2G1B,GAPAY,GANAjE,EAAIE,EAAKF,KAGT+C,EAAI5C,EAAOH,IAMX+C,EAAIY,GAAMZ,GACVkB,EClGD,SAAgBjE,GACf,IAAI8C,EACAc,EACAM,EACAE,EAGJ,GADAtB,EAAM,GACK,IAAN9C,EACJ,OAAO8C,EAKR,IAHAsB,EA/Bc,IAkCRF,EAAI,EAAGA,EAlCC,OAmCbN,EAAQ,EAAJ5D,IACM,GACTA,EAAI4D,EAAI,EACRd,GAAO,IAtCK,MAuCPsB,IACJA,EAAIF,KAGLlE,EAAI4D,EACJd,GAAO,OAGG,IAANc,GAAaM,EAAEE,EA9CP,KAiCaF,KAkB3B,OAAOpB,EDmEHuB,CAAOJ,GAGNlB,EAEJiB,EAAMjB,EAAEG,OAAS,MACX,CAEN,IAAMgB,EAAI,EAAGA,EAAID,EAAEf,OAAQgB,IAC1B,GAAgB,MAAXD,EAAGC,GAAc,CACrBJ,EAAQI,EAAI,EACZ,MAIFF,GAAOF,EAwBR,OArBAhB,EAAMC,EAAIkB,EACLD,EAAM,GAELA,IE9GqB,MFgHzBF,EAAQQ,KAGTxB,EAAMA,EAAIyB,UAAWT,IAGrBhB,EAAMA,EAAIyB,UAAW,GAGtBP,EAAML,GAAMK,EEzHe,KFgIpBD,GANPC,EAAMQ,GAAMR,EAxIW,EAwIa,OAGpClB,EAAM2B,GAAM3B,EA5Ic,GA4Ia,KAAMyB,UAAW,EA5I9B"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index 2bd4c91..0000000 --- a/stats.html +++ /dev/null @@ -1,2689 +0,0 @@ - - - - - - - - RollUp Visualizer - - - -
- - - - - From 48e856055b851e9b2433fe35b026db6cd36ef925 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 4 Jul 2022 15:25:31 +0000 Subject: [PATCH 010/146] Auto-generated commit --- .editorconfig | 181 -- .eslintrc.js | 1 - .gitattributes | 33 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 62 - .github/workflows/cancel.yml | 56 - .github/workflows/close_pull_requests.yml | 44 - .github/workflows/examples.yml | 62 - .github/workflows/npm_downloads.yml | 108 - .github/workflows/productionize.yml | 687 ------ .github/workflows/publish.yml | 117 - .github/workflows/test.yml | 92 - .github/workflows/test_bundles.yml | 180 -- .github/workflows/test_coverage.yml | 123 - .github/workflows/test_install.yml | 83 - .gitignore | 178 -- .npmignore | 227 -- .npmrc | 28 - CHANGELOG.md | 5 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 ---- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 -- lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 2689 +++++++++++++++++++++ test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 -- 44 files changed, 2708 insertions(+), 3855 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0fd4d6c..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 7212d81..0000000 --- a/.gitattributes +++ /dev/null @@ -1,33 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 29bf533..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index a7a7f51..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,56 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - uses: styfle/cancel-workflow-action@0.9.0 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index 576054a..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,44 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 39b1613..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout the repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 7ca169c..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,108 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '0 8 * * 6' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "::set-output name=package_name::$name" - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "::set-output name=data::$data" - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - uses: actions/upload-artifact@v2 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - uses: distributhor/workflow-webhook@v2 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 6726965..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,687 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the repository: - push: - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - uses: actions/checkout@v3 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Format error messages: - - name: 'Replace double quotes with single quotes in rewritten format string error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\( \"([a-zA-Z0-9]+)\"/Error\( format\( '\1'/g" {} \; - - # Format string literal error messages: - - name: 'Replace double quotes with single quotes in rewritten string literal error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\(\"([a-zA-Z0-9]+)\"\)/Error\( format\( '\1' \)/g" {} \; - - # Format code: - - name: 'Replace double quotes with single quotes in inserted `require` calls' - run: | - find . -name "*.js" -exec sed -E -i "s/require\( ?\"@stdlib\/error-tools-fmtprodmsg\" ?\);/require\( '@stdlib\/error-tools-fmtprodmsg' \);/g" {} \; - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\"/\"@stdlib\/error-tools-fmtprodmsg\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^0.0.x'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "::set-output name=remote-exists::true" - else - echo "::set-output name=remote-exists::false" - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch or create new branch tag: - - name: 'Push changes to `deno` branch or create new branch tag' - run: | - SLUG=${{ github.repository }} - VERSION=$(echo ${{ github.ref }} | sed -E -n 's/refs\/tags\/?(v[0-9]+.[0-9]+.[0-9]+).*/\1/p') - if [ -z "$VERSION" ]; then - echo "Workflow job was not triggered by a new tag...." - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - else - echo "Workflow job was triggered by a new tag: $VERSION" - echo "Creating new bundle branch tag of the form $VERSION-deno" - git tag -a $VERSION-deno -m "$VERSION-deno" - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" $VERSION-deno - fi - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - uses: act10ns/slack@v1 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "::set-output name=remote-exists::true" - else - echo "::set-output name=remote-exists::false" - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "::set-output name=alias::${alias}" - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From a19401d5dbe12a47928b788d95ea517a5ba2764a Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Tue, 12 Jul 2022 14:14:37 +0000 Subject: [PATCH 011/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b89a991..36dde03 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.0.x", "@stdlib/string-left-pad": "^0.0.x", "@stdlib/string-repeat": "^0.0.x", - "@stdlib/string-right-pad": "^0.0.x" + "@stdlib/string-right-pad": "^0.0.x", + "@stdlib/error-tools-fmtprodmsg": "^0.0.x" }, "devDependencies": { "@stdlib/assert-is-string": "^0.0.x", @@ -98,4 +99,4 @@ "type": "patreon", "url": "https://www.patreon.com/athan" } -} +} \ No newline at end of file From 55bc659ec7732b614612135c3acd689b663f9490 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Tue, 12 Jul 2022 14:49:26 +0000 Subject: [PATCH 012/146] Remove files --- mod.d.ts | 78 -- mod.js | 4 - mod.js.map | 1 - stats.html | 2689 ---------------------------------------------------- 4 files changed, 2772 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 1881a26..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 2.0 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 5b8f8b7..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2022 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function t(){return r&&"symbol"==typeof Symbol.toStringTag}var e=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,o="function"==typeof Symbol?Symbol.toStringTag:"";i=t()?function(r){var t,i,a,u,l;if(null==r)return e.call(r);i=r[o],l=o,t=null!=(u=r)&&n.call(u,l);try{r[o]=void 0}catch(t){return e.call(r)}return a=e.call(r),t?r[o]=i:delete r[o],a}:function(r){return e.call(r)};var a=i,u="function"==typeof Float32Array;var l=Number.POSITIVE_INFINITY,f="function"==typeof Float32Array?Float32Array:null;var c="function"==typeof Float32Array?Float32Array:void 0;var g=function(){var r,t,e;if("function"!=typeof f)return!1;try{t=new f([1,3.14,-3.14,5e40]),e=t,r=(u&&e instanceof Float32Array||"[object Float32Array]"===a(e))&&1===t[0]&&3.140000104904175===t[1]&&-3.140000104904175===t[2]&&t[3]===l}catch(t){r=!1}return r}()?c:function(){throw new Error("not implemented")},y="function"==typeof Uint32Array;var m="function"==typeof Uint32Array?Uint32Array:null;var s="function"==typeof Uint32Array?Uint32Array:void 0;var v=function(){var r,t,e;if("function"!=typeof m)return!1;try{t=new m(t=[1,3.14,-3.14,4294967296,4294967297]),e=t,r=(y&&e instanceof Uint32Array||"[object Uint32Array]"===a(e))&&1===t[0]&&3===t[1]&&4294967293===t[2]&&0===t[3]&&1===t[4]}catch(t){r=!1}return r}()?s:function(){throw new Error("not implemented")},p=new g(1);new v(p.buffer)[0]=2139095040;var b=p[0],h=new g(1);new v(h.buffer)[0]=4286578688;var w=h[0];var d=Math.floor,_="function"==typeof Object.defineProperty?Object.defineProperty:null;var j=Object.defineProperty,E=Object.prototype,S=E.toString,T=E.__defineGetter__,O=E.__defineSetter__,A=E.__lookupGetter__,F=E.__lookupSetter__;var V=function(){try{return _({},"x",{}),!0}catch(r){return!1}}()?j:function(r,t,e){var n,i,o,a;if("object"!=typeof r||null===r||"[object Array]"===S.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof e||null===e||"[object Array]"===S.call(e))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+e+"`.");if((i="value"in e)&&(A.call(r,t)||F.call(r,t)?(n=r.__proto__,r.__proto__=E,delete r[t],r[t]=e.value,r.__proto__=n):r[t]=e.value),o="get"in e,a="set"in e,i&&(o||a))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return o&&T&&T.call(r,t,e.get),a&&O&&O.call(r,t,e.set),r};function P(r,t,e){V(r,t,{configurable:!1,enumerable:!1,writable:!1,value:e})}function I(r){return"number"==typeof r}var x=Number,N=x.prototype.toString;var U=t();function R(r){return"object"==typeof r&&(r instanceof x||(U?function(r){try{return N.call(r),!0}catch(r){return!1}}(r):"[object Number]"===a(r)))}function k(r){return I(r)||R(r)}P(k,"isPrimitive",I),P(k,"isObject",R);var G=x.NEGATIVE_INFINITY;function M(r){return rG&&d(t=r)===t;var t}function Y(r){return I(r)&&M(r)}function C(r){return R(r)&&M(r.valueOf())}function q(r){return Y(r)||C(r)}function z(r){return Y(r)&&r>=0}function B(r){return C(r)&&r.valueOf()>=0}function D(r){return z(r)||B(r)}function H(r){return"string"==typeof r}P(q,"isPrimitive",Y),P(q,"isObject",C),P(D,"isPrimitive",z),P(D,"isObject",B);var J=String.prototype.valueOf;var K=t();function L(r){return"object"==typeof r&&(r instanceof String||(K?function(r){try{return J.call(r),!0}catch(r){return!1}}(r):"[object String]"===a(r)))}function Q(r){return H(r)||L(r)}P(Q,"isPrimitive",H),P(Q,"isObject",L);function W(r,t){var e,n;if(!H(r))throw new TypeError("invalid argument. First argument must be a string. Value: `"+r+"`.");if(!z(t))throw new TypeError("invalid argument. Second argument must be a nonnegative integer. Value: `"+t+"`.");if(0===r.length||0===t)return"";if(r.length*t>9007199254740991)throw new RangeError("invalid argument. Output string length exceeds maximum allowed string length.");for(e="",n=t;1==(1&n)&&(e+=r),0!==(n>>>=1);)r+=r;return e}var X=Math.ceil;function Z(r){for(var t,e="";r>0;)e=(t=r/2)===(r=d(t))?"0"+e:"1"+e;return e}function $(r){var t,e,n,i,o,a,u;if(e=r<0||1/r===w?"1":"0",r===b||r===w)return e+(i=W("1",8))+(n=W("0",23));if(r!=r)return e+(i=W("1",8))+(n="1"+W("0",22));if(0===r)return e+(i=W("0",8))+(n=W("0",23));if(a=(r=function(r){return Math.abs(r)}(r))-(o=d(r)),o=Z(o),a=function(r){var t,e,n,i;if(t="",0===r)return t;for(i=149,n=0;n<149&&((e=2*r)>=1?(r=e-1,t+="1",149===i&&(i=n)):(r=e,t+="0"),!(1===e||n-i>24));n++);return t}(a),o)i=o.length-1;else{for(u=0;u2){if(!H(i=e))throw new TypeError("invalid argument. Third argument must be a string. Value: `"+i+"`.");if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(t>9007199254740991)throw new RangeError("invalid argument. Output string length exceeds maximum allowed string length.");return(n=(t-r.length)/i.length)<=0?r:W(i,n=X(n))+r}(i=Z(i+127),8,"0"),n=function(r,t,e){var n,i;if(!H(r))throw new TypeError("invalid argument. First argument must be a string. Value: `"+r+"`.");if(!z(t))throw new TypeError("invalid argument. Second argument must be a nonnegative integer. Value: `"+t+"`.");if(arguments.length>2){if(!H(i=e))throw new TypeError("invalid argument. Third argument must be a string. Value: `"+i+"`.");if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(t>9007199254740991)throw new RangeError("invalid argument. Output string length exceeds maximum allowed string length.");return(n=(t-r.length)/i.length)<=0?r:r+W(i,n=X(n))}(n,23,"0").substring(0,23),e+i+n}export{$ as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 2cb77f1..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/native_class.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/number.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/is_integer.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-repeat/lib/repeat.js","../node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/math-base-special-ceil/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/left_pad.js","../node_modules/@stdlib/string-right-pad/lib/right_pad.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support' ;\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class' ;\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport builtin from './native_class.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property' ;\nimport toStringTag from './tostringtag.js' ;\nimport toStr from './tostring.js' ;\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js' ;\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class' ;\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf' ;\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32' ;\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support' ;\nimport builtin from './float32array.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array' ;\nimport PINF from '@stdlib/constants-float64-pinf' ;\nimport GlobalFloat32Array from './float32array.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class' ;\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max' ;\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32' ;\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support' ;\nimport builtin from './uint32array.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array' ;\nimport UINT32_MAX from '@stdlib/constants-uint32-max' ;\nimport GlobalUint32Array from './uint32array.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf' ;\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32' ;\nimport Uint32Array from '@stdlib/array-uint32' ;\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf' ;\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32' ;\nimport Uint32Array from '@stdlib/array-uint32' ;\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property' ;\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js' ;\nimport builtin from './builtin.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property' ;\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor' ;\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport nativeClass from '@stdlib/utils-native-class' ;\nimport Number from '@stdlib/number-ctor' ;\nimport test from './try2serialize.js' ;\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js' ; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isNumber from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf' ;\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor' ;\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf' ;\nimport NINF from '@stdlib/constants-float64-ninf' ;\nimport isInt from '@stdlib/math-base-assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor' ;\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number' ;\nimport isInt from './integer.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number' ;\nimport isInt from './integer.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isInteger from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isNonNegativeInteger from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport nativeClass from '@stdlib/utils-native-class' ;\nimport test from './try2valueof.js' ;\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js' ; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isString from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string primitive\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be a string. Value: `' + str + '`.' );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( 'invalid argument. Second argument must be a nonnegative integer. Value: `' + n + '`.' );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( 'invalid argument. Output string length exceeds maximum allowed string length.' );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor' ;\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf' ;\nimport NINF from '@stdlib/constants-float32-ninf' ;\nimport BIAS from '@stdlib/constants-float32-exponent-bias' ;\nimport abs from '@stdlib/math-base-special-abs' ;\nimport floor from '@stdlib/math-base-special-floor' ;\nimport rpad from '@stdlib/string-right-pad' ;\nimport lpad from '@stdlib/string-left-pad' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport div2 from './div2.js' ;\nimport mult2 from './mult2.js' ;\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf' ;\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf' ;\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias' ;\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport ceil from '@stdlib/math-base-special-ceil' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be a string. Value: `' + str + '`.' );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( 'invalid argument. Second argument must be a nonnegative integer. Value: `' + len + '`.' );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( 'invalid argument. Third argument must be a string. Value: `' + p + '`.' );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( 'invalid argument. Output string length exceeds maximum allowed string length.' );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport ceil from '@stdlib/math-base-special-ceil' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be a string. Value: `' + str + '`.' );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( 'invalid argument. Second argument must be a nonnegative integer. Value: `' + len + '`.' );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( 'invalid argument. Third argument must be a string. Value: `' + p + '`.' );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( 'invalid argument. Output string length exceeds maximum allowed string length.' );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","nativeClass","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass$1","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","main","ctor","Float32Array$1","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","hasUint32Array","Uint32Array","Uint32Array$1","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","isNumber","Number$1","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","String","repeat","str","n","rpt","cnt","length","RangeError","ceil","div2","y","toBinaryStringf","nbits","sign","exp","f","i","NUM_SIGNIFICAND_BITS","abs","j","mult2","BIAS","substring","len","pad","p","arguments","lpad","rpad"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,YEpB/B,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA+B,mBAAXV,OAA0BA,OAAOE,YAAc,GC8BtEO,EADIE,ICDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EHHgBC,EAAOC,EGK3B,GAAKL,QACJ,OAAOT,EAAMe,KAAMN,GAEpBE,EAAMF,EAAGV,GHRkBe,EGSJf,EAAvBW,EHPCG,OAFmBA,EGSAJ,IHFbL,EAAIW,KAAMF,EAAOC,GGKxB,IACCL,EAAGV,QAAgB,EAClB,MAAQiB,GACT,OAAOhB,EAAMe,KAAMN,GASpB,OAPAG,EAAMZ,EAAMe,KAAMN,GAEbC,EACJD,EAAGV,GAAgBY,SAEZF,EAAGV,GAEJa,GC1BR,SAAsBH,GACrB,OAAOT,EAAMe,KAAMN,IFWpB,IAAAQ,EAAeX,EGjCXY,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBC,EAAiC,mBAAjBJ,aAAgCA,aAAe,KCAnE,IAAIK,EAAiC,mBAAjBL,aAAgCA,kBAAe,EC6BnE,IAAAM,ECbA,WACC,IAAIC,EACAC,ELMoBd,EKJxB,GAAmC,mBAAvBe,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bf,EKGNc,EADjBD,GLAER,GAAmBL,aAAiBM,cACb,0BAAzBb,EAAaO,KKCC,IAAbc,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,EAEb,MAAQb,GACTU,GAAO,EAER,OAAOA,EDhBHI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,oBCHdC,EAA0C,mBAAhBC,YC4B9B,ICjCIX,EAAgC,mBAAhBW,YAA+BA,YAAc,KCAjE,IAAIV,EAAgC,mBAAhBU,YAA+BA,iBAAc,EC6BjE,IAAAC,ECbA,WACC,IAAIT,EACAC,ELMmBd,EKJvB,GAAkC,mBAAtBuB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBxB,EKINc,EADhBD,GLDEO,GAAkBpB,aAAiBqB,aACZ,yBAAzB5B,EAAaO,KKEC,IAAbc,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,GAEL,MAAQX,GACTU,GAAO,EAER,OAAOA,EDlBHY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,oBCSdO,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAX,EALIU,EAAc,GC9BdA,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbnB,EAA0C,mBAA1BtB,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eC/BxBC,EAAiB5C,OAAOC,UACxBF,EAAQ6C,EAAe1C,SACvB2C,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBC4BlC,IAAAC,ECpBA,WAEC,IAEC,OADAV,EAAgB,GAAI,IAAK,KAClB,EACN,MAAQ5B,GACT,OAAO,GDKJuC,GACaxB,EDgBlB,SAAyByB,EAAKC,EAAMC,GACnC,IAAIxD,EACAyD,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBxD,EAAMe,KAAMyC,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B1D,EAAMe,KAAM2C,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBR,EAAanC,KAAMyC,EAAKC,IACxBL,EAAarC,KAAMyC,EAAKC,IAGxBvD,EAAYsD,EAAIO,UAChBP,EAAIO,UAAYlB,SAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW7C,MAGzB2C,EAAIO,UAAY7D,GAEhBsD,EAAKC,GAASC,EAAW7C,OAG3B+C,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAI7B,MAAO,wHASlB,OANK4B,GAAUd,GACdA,EAAa/B,KAAMyC,EAAKC,EAAMC,EAAWM,KAErCH,GAAUb,GACdA,EAAajC,KAAMyC,EAAKC,EAAMC,EAAWO,KAEnCT,GGjER,SAASU,EAA0BV,EAAKC,EAAM5C,GAC7C+B,EAAgBY,EAAKC,EAAM,CAC1BU,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxD,MAASA,ICZX,SAASyD,EAAUzD,GAClB,MAA0B,iBAAVA,ECjBjB,IAAA0D,EAAelD,OCMXlB,EAAWkB,EAAOnB,UAAUC,SCEhC,IAAIP,EAAMY,IAmBV,SAAS8D,EAAUzD,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,IAGjBzB,ECpBP,SAAeiB,GACd,IAEC,OADAV,EAASY,KAAMF,IACR,EACN,MAAQG,GACT,OAAO,GDgBCwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,KEPxB,SAASyD,EAAUzD,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCqB5C8D,EAAAL,EAAA,cAAAG,GACAE,EAAAL,EAAA,WAAAI,GCnBA,IAAIE,EAAevD,EAAOwD,kBClB1B,SAASC,EAAWjE,GACnB,OACCA,EAAQgB,GACRhB,EAAQ4B,GCGDC,EADWqC,EDDXlE,KCEakE,EADtB,IAAoBA,ECCpB,SAASD,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,GCHT,SAASiE,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAAMoE,WCKf,SAASH,EAAWjE,GACnB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCV5C,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,GAAS,ECHX,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,EAAMoE,WAAa,ECUrB,SAASC,EAAsBrE,GAC9B,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCrB5C,SAASsE,EAAUtE,GAClB,MAA0B,iBAAVA,ECoCjB8D,EAAAG,EAAA,cAAAL,GACAE,EAAAG,EAAA,WAAAJ,GCAAC,EAAAO,EAAA,cAAAT,GACAE,EAAAO,EAAA,WAAAR,GCpDA,IAAIO,EAAUG,OAAOlF,UAAU+E,QCQ/B,IAAIrF,EAAMY,IAmBV,SAAS2E,EAAUtE,GAClB,MAAsB,iBAAVA,IACNA,aAAiBuE,SAGjBxF,ECnBP,SAAeiB,GACd,IAEC,OADAoE,EAAQlE,KAAMF,IACP,EACN,MAAQG,GACT,OAAO,GDeCwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,KEdxB,SAASsE,EAAUtE,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCuB5C8D,EAAAQ,EAAA,cAAAV,GACAE,EAAAQ,EAAA,WAAAT,GCuBA,SAASW,EAAQC,EAAKC,GACrB,IAAIC,EACAC,EACJ,IAAMN,EAAUG,GACf,MAAM,IAAIxB,UAAW,8DAAgEwB,EAAM,MAE5F,IAAMJ,EAAsBK,GAC3B,MAAM,IAAIzB,UAAW,4EAA8EyB,EAAI,MAExG,GAAoB,IAAfD,EAAII,QAAsB,IAANH,EACxB,MAAO,GAGR,GAAKD,EAAII,OAASH,ECpDY,iBDqD7B,MAAM,IAAII,WAAY,iFAIvB,IAFAH,EAAM,GACNC,EAAMF,EAGY,IAAP,EAAJE,KACLD,GAAOF,GAIK,KADbG,KAAS,IAKTH,GAAOA,EAER,OAAOE,EE7ER,IAAII,EAAOjD,KAAKiD,KCMhB,SAASC,EAAMd,GAKd,IAJA,IACIe,EADAR,EAAM,GAIFP,EAAI,GAIVO,GAHDQ,EAAIf,EAAI,MACRA,EAAIrC,EAAOoD,IAEJ,IAAMR,EAEN,IAAMA,EAGd,OAAOA,EC+BR,SAASS,EAAiBhB,GACzB,IAAIiB,EACAC,EACAX,EACAY,EACAX,EACAY,EACAC,EASJ,GALCH,EADIlB,EAAI,GAAO,EAAIA,IAAMtC,EAClB,IAEA,IAGHsC,IAAMlD,GAAQkD,IAAMtC,EAIxB,OAAOwD,GAFPC,EAAMb,EAAQ,IA3EQ,KA4EtBC,EAAMD,EAAQ,IA7EW,KAiF1B,GAAKN,GAAMA,EAIV,OAAOkB,GAFPC,EAAMb,EAAQ,IAlFQ,KAmFtBC,EAAM,IAAMD,EAAQ,IAAKgB,KAI1B,GAAW,IAANtB,EAIJ,OAAOkB,GAFPC,EAAMb,EAAQ,IAzFQ,KA0FtBC,EAAMD,EAAQ,IA3FW,KA2G1B,GAPAc,GANApB,ECnFD,SAAcA,GACb,OAAOpC,KAAK2D,IAAKvB,GDkFbuB,CAAKvB,KAGTQ,EAAI7C,EAAOqC,IAMXQ,EAAIM,EAAMN,GACVY,EElGD,SAAgBpB,GACf,IAAIO,EACAQ,EACAM,EACAG,EAGJ,GADAjB,EAAM,GACK,IAANP,EACJ,OAAOO,EAKR,IAHAiB,EA/Bc,IAkCRH,EAAI,EAAGA,EAlCC,OAmCbN,EAAQ,EAAJf,IACM,GACTA,EAAIe,EAAI,EACRR,GAAO,IAtCK,MAuCPiB,IACJA,EAAIH,KAGLrB,EAAIe,EACJR,GAAO,OAGG,IAANQ,GAAaM,EAAEG,EA9CP,KAiCaH,KAkB3B,OAAOd,EFmEHkB,CAAOL,GAGNZ,EAEJW,EAAMX,EAAEG,OAAS,MACX,CAEN,IAAMU,EAAI,EAAGA,EAAID,EAAET,OAAQU,IAC1B,GAAgB,MAAXD,EAAGC,GAAc,CACrBJ,EAAQI,EAAI,EACZ,MAIFF,GAAOF,EAwBR,OArBAV,EAAMC,EAAIY,EACLD,EAAM,GAELA,IG9GqB,MHgHzBF,EAAQS,KAGTnB,EAAMA,EAAIoB,UAAWV,IAGrBV,EAAMA,EAAIoB,UAAW,GAItBR,EIvHD,SAAeZ,EAAKqB,EAAKC,GACxB,IAAIrB,EACAsB,EACJ,IAAM1B,EAAUG,GACf,MAAM,IAAIxB,UAAW,8DAAgEwB,EAAM,MAE5F,IAAMJ,EAAsByB,GAC3B,MAAM,IAAI7C,UAAW,4EAA8E6C,EAAM,MAE1G,GAAKG,UAAUpB,OAAS,EAAI,CAE3B,IAAMP,EADN0B,EAAID,GAEH,MAAM,IAAI9C,UAAW,8DAAgE+C,EAAI,MAE1F,GAAkB,IAAbA,EAAEnB,OACN,MAAM,IAAIC,WAAY,sEAGvBkB,EAAI,IAEL,GAAKF,EPxByB,iBOyB7B,MAAM,IAAIhB,WAAY,iFAGvB,OADAJ,GAAMoB,EAAMrB,EAAII,QAAWmB,EAAEnB,SACnB,EACFJ,EAGDD,EAAQwB,EADftB,EAAIK,EAAML,IACcD,EJ2FlByB,CADNb,EAAML,EAAMK,EGzHe,KHdJ,EAwIa,KAGpCZ,EK1HD,SAAeA,EAAKqB,EAAKC,GACxB,IAAIrB,EACAsB,EACJ,IAAM1B,EAAUG,GACf,MAAM,IAAIxB,UAAW,8DAAgEwB,EAAM,MAE5F,IAAMJ,EAAsByB,GAC3B,MAAM,IAAI7C,UAAW,4EAA8E6C,EAAM,MAE1G,GAAKG,UAAUpB,OAAS,EAAI,CAE3B,IAAMP,EADN0B,EAAID,GAEH,MAAM,IAAI9C,UAAW,8DAAgE+C,EAAI,MAE1F,GAAkB,IAAbA,EAAEnB,OACN,MAAM,IAAIC,WAAY,kEAGvBkB,EAAI,IAEL,GAAKF,ERxByB,iBQyB7B,MAAM,IAAIhB,WAAY,iFAGvB,OADAJ,GAAMoB,EAAMrB,EAAII,QAAWmB,EAAEnB,SACnB,EACFJ,EAGDA,EAAMD,EAAQwB,EADrBtB,EAAIK,EAAML,IL+FJyB,CAAM1B,EA5Ic,GA4Ia,KAAMoB,UAAW,EA5I9B,IA+InBT,EAAOC,EAAMZ"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index 9cd104c..0000000 --- a/stats.html +++ /dev/null @@ -1,2689 +0,0 @@ - - - - - - - - RollUp Visualizer - - - -
- - - - - From 5f2ec338afffc53f3705bea6cbd6d94bccf1aca0 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Tue, 12 Jul 2022 14:50:12 +0000 Subject: [PATCH 013/146] Auto-generated commit --- .editorconfig | 181 -- .eslintrc.js | 1 - .gitattributes | 33 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 62 - .github/workflows/bundle_tags.yml | 125 - .github/workflows/cancel.yml | 56 - .github/workflows/close_pull_requests.yml | 44 - .github/workflows/examples.yml | 62 - .github/workflows/npm_downloads.yml | 108 - .github/workflows/productionize.yml | 691 ------ .github/workflows/publish.yml | 117 - .github/workflows/test.yml | 92 - .github/workflows/test_bundles.yml | 180 -- .github/workflows/test_coverage.yml | 123 - .github/workflows/test_install.yml | 83 - .gitignore | 178 -- .npmignore | 227 -- .npmrc | 28 - CHANGELOG.md | 5 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 ---- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 -- lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 2689 +++++++++++++++++++++ test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 -- 45 files changed, 2708 insertions(+), 3984 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/bundle_tags.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0fd4d6c..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 7212d81..0000000 --- a/.gitattributes +++ /dev/null @@ -1,33 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 29bf533..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/bundle_tags.yml b/.github/workflows/bundle_tags.yml deleted file mode 100644 index 46a96ae..0000000 --- a/.github/workflows/bundle_tags.yml +++ /dev/null @@ -1,125 +0,0 @@ - -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: bundle_tags - -# Workflow triggers: -on: - # Run workflow when a new tag is pushed to the repository: - push: - tags: - - '*' - -# Workflow jobs: -jobs: - - # Define job to wait a minute before running the workflow... - waiting: - - # Define display name: - name: 'Waiting Period' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the steps to run: - steps: - - # Wait three minutes: - - name: 'Wait three minutes' - run: | - sleep 3m - - # Define job to publish bundle tags to GitHub... - create-tags: - - # Define display name: - name: 'Create bundle tags' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the prior job finishing: - needs: waiting - - # Define the steps to run: - steps: - - # Wait for the productionize workflow to succeed: - - name: 'Wait for productionize workflow to succeed' - uses: lewagon/wait-on-check-action@v1.0.0 - timeout-minutes: 5 - with: - ref: main - check-regexp: 'Productionize' - repo-token: ${{ secrets.GITHUB_TOKEN }} - wait-interval: 60 - allowed-conclusions: success - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - git fetch --all - - # Create bundle tags: - - name: 'Create bundle tags' - run: | - SLUG=${{ github.repository }} - VERSION=$(echo ${{ github.ref }} | sed -E -n 's/refs\/tags\/?(v[0-9]+.[0-9]+.[0-9]+).*/\1/p') - ESCAPED=$(echo $SLUG | sed -E 's/\//\\\//g') - - git checkout -b deno origin/deno - sed -i -E "s/$ESCAPED@deno/$ESCAPED@$VERSION-deno/g" README.md - git add README.md - git commit -m "Update README.md for Deno bundle $VERSION" - git tag -a $VERSION-deno -m "$VERSION-deno" - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" $VERSION-deno - sed -i -E "s/$ESCAPED@$VERSION-deno/$ESCAPED@deno/g" README.md - git add README.md - git commit -m "Revert changes to README.md for Deno bundle $VERSION" - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - git checkout -b umd origin/umd - sed -i -E "s/$ESCAPED@umd/$ESCAPED@$VERSION-umd/g" README.md - git add README.md - git commit -m "Update README.md for UMD bundle $VERSION" - git tag -a $VERSION-umd -m "$VERSION-umd" - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" $VERSION-umd - sed -i -E "s/$ESCAPED@$VERSION-umd/$ESCAPED@umd/g" README.md - git add README.md - git commit -m "Revert changes to README.md for UMD bundle $VERSION" - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" umd - - git checkout -b esm origin/esm - sed -i -E "s/$ESCAPED@esm/$ESCAPED@$VERSION-esm/g" README.md - git add README.md - git commit -m "Update README.md for ESM bundle $VERSION" - git tag -a $VERSION-esm -m "$VERSION-esm" - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" $VERSION-esm - sed -i -E "s/$ESCAPED@$VERSION-esm/$ESCAPED@esm/g" README.md - git add README.md - git commit -m "Revert changes to README.md for ESM bundle $VERSION" - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" esm diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index a7a7f51..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,56 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - uses: styfle/cancel-workflow-action@0.9.0 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index 576054a..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,44 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 39b1613..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout the repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 7ca169c..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,108 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '0 8 * * 6' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "::set-output name=package_name::$name" - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "::set-output name=data::$data" - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - uses: actions/upload-artifact@v2 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - uses: distributhor/workflow-webhook@v2 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 0a144b2..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,691 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - uses: actions/checkout@v3 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Format error messages: - - name: 'Replace double quotes with single quotes in rewritten format string error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\( \"([a-zA-Z0-9]+)\"/Error\( format\( '\1'/g" {} \; - - # Format string literal error messages: - - name: 'Replace double quotes with single quotes in rewritten string literal error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\(\"([a-zA-Z0-9]+)\"\)/Error\( format\( '\1' \)/g" {} \; - - # Format code: - - name: 'Replace double quotes with single quotes in inserted `require` calls' - run: | - find . -name "*.js" -exec sed -E -i "s/require\( ?\"@stdlib\/error-tools-fmtprodmsg\" ?\);/require\( '@stdlib\/error-tools-fmtprodmsg' \);/g" {} \; - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\"/\"@stdlib\/error-tools-fmtprodmsg\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^0.0.x'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "::set-output name=remote-exists::true" - else - echo "::set-output name=remote-exists::false" - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - uses: act10ns/slack@v1 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "::set-output name=remote-exists::true" - else - echo "::set-output name=remote-exists::false" - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "::set-output name=alias::${alias}" - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 092d5a0126c35f7222a277fe190400e2d1a8b466 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 1 Aug 2022 04:42:40 +0000 Subject: [PATCH 014/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b89a991..36dde03 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.0.x", "@stdlib/string-left-pad": "^0.0.x", "@stdlib/string-repeat": "^0.0.x", - "@stdlib/string-right-pad": "^0.0.x" + "@stdlib/string-right-pad": "^0.0.x", + "@stdlib/error-tools-fmtprodmsg": "^0.0.x" }, "devDependencies": { "@stdlib/assert-is-string": "^0.0.x", @@ -98,4 +99,4 @@ "type": "patreon", "url": "https://www.patreon.com/athan" } -} +} \ No newline at end of file From 98475f41a6b9c6063e75c36206c1b7d46aec83e4 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 1 Aug 2022 16:32:12 +0000 Subject: [PATCH 015/146] Remove files --- mod.d.ts | 78 -- mod.js | 4 - mod.js.map | 1 - stats.html | 2689 ---------------------------------------------------- 4 files changed, 2772 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 1881a26..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 2.0 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 09537e2..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2022 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol.toStringTag:"";i=e()?function(r){var e,i,o,u,c;if(null==r)return t.call(r);i=r[a],c=a,e=null!=(u=r)&&n.call(u,c);try{r[a]=void 0}catch(e){return t.call(r)}return o=t.call(r),e?r[a]=i:delete r[a],o}:function(r){return t.call(r)};var o=i,u="function"==typeof Float32Array;var c=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var s="function"==typeof Float32Array?Float32Array:void 0;var f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(u&&t instanceof Float32Array||"[object Float32Array]"===o(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===c}catch(e){r=!1}return r}()?s:function(){throw new Error("not implemented")},g="function"==typeof Uint32Array;var p="function"==typeof Uint32Array?Uint32Array:null;var h="function"==typeof Uint32Array?Uint32Array:void 0;var d=function(){var r,e,t;if("function"!=typeof p)return!1;try{e=new p(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(g&&t instanceof Uint32Array||"[object Uint32Array]"===o(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?h:function(){throw new Error("not implemented")},v=new f(1);new d(v.buffer)[0]=2139095040;var m=v[0],w=new f(1);new d(w.buffer)[0]=4286578688;var y=w[0];var b=Math.floor,E="function"==typeof Object.defineProperty?Object.defineProperty:null;var _=Object.defineProperty,S=Object.prototype,T=S.toString,x=S.__defineGetter__,V=S.__defineSetter__,A=S.__lookupGetter__,j=S.__lookupSetter__;var F=function(){try{return E({},"x",{}),!0}catch(r){return!1}}()?_:function(r,e,t){var n,i,a,o;if("object"!=typeof r||null===r||"[object Array]"===T.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof t||null===t||"[object Array]"===T.call(t))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+t+"`.");if((i="value"in t)&&(A.call(r,e)||j.call(r,e)?(n=r.__proto__,r.__proto__=S,delete r[e],r[e]=t.value,r.__proto__=n):r[e]=t.value),a="get"in t,o="set"in t,i&&(a||o))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return a&&x&&x.call(r,e,t.get),o&&V&&V.call(r,e,t.set),r};function k(r,e,t){F(r,e,{configurable:!1,enumerable:!1,writable:!1,value:t})}function O(r){return"number"==typeof r}var I=Number,P=I.prototype.toString;var R=e();function N(r){return"object"==typeof r&&(r instanceof I||(R?function(r){try{return P.call(r),!0}catch(r){return!1}}(r):"[object Number]"===o(r)))}function $(r){return O(r)||N(r)}k($,"isPrimitive",O),k($,"isObject",N);var U=I.NEGATIVE_INFINITY;function C(r){return rU&&b(e=r)===e;var e}function G(r){return O(r)&&C(r)}function Z(r){return N(r)&&C(r.valueOf())}function M(r){return G(r)||Z(r)}function W(r){return G(r)&&r>=0}function L(r){return Z(r)&&r.valueOf()>=0}function X(r){return W(r)||L(r)}function Y(r){return"string"==typeof r}k(M,"isPrimitive",G),k(M,"isObject",Z),k(X,"isPrimitive",W),k(X,"isObject",L);var z=String.prototype.valueOf;var q=e();function B(r){return"object"==typeof r&&(r instanceof String||(q?function(r){try{return z.call(r),!0}catch(r){return!1}}(r):"[object String]"===o(r)))}function D(r){return Y(r)||B(r)}k(D,"isPrimitive",Y),k(D,"isObject",B);function H(r){return"number"==typeof r}function J(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=or.call(t,pr,"$1e"),t=or.call(t,gr,"e"),t=or.call(t,fr,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=or.call(t,ur,"e+0$1"),t=or.call(t,cr,"e-0$1"),r.alternate&&(t=or.call(t,lr,"$1."),t=or.call(t,sr,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===ar.call(r.specifier)?ar.call(t):ir.call(t)}function dr(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=wr(a)?String(n.arg):mr(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=hr(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=K(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=vr(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var _r=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Sr(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function Tr(r){var e,t,n,i;for(t=[],i=0,n=_r.exec(r);n;)(e=r.slice(i,_r.lastIndex-n[0].length)).length&&t.push(e),t.push(Sr(n)),i=_r.lastIndex,n=_r.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function xr(r){return"string"==typeof r}function Vr(r){var e,t,n;if(!xr(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=Tr(r),(t=new Array(arguments.length))[0]=e,n=1;n9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",r.length*e));for(t="",n=e;1==(1&n)&&(t+=r),0!==(n>>>=1);)r+=r;return t}var jr=Math.ceil;function Fr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=b(e))?"0"+t:"1"+t;return t}function kr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===y?"1":"0",r===m||r===y)return t+(i=Ar("1",8))+(n=Ar("0",23));if(r!=r)return t+(i=Ar("1",8))+(n="1"+Ar("0",22));if(0===r)return t+(i=Ar("0",8))+(n=Ar("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=b(r)),a=Fr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:Ar(i,n=jr(n))+r}(i=Fr(i+127),8,"0"),n=function(r,e,t){var n,i;if(!Y(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!W(e))throw new TypeError(Vr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:r+Ar(i,n=jr(n))}(n,23,"0").substring(0,23),t+i+n}export{kr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 227a49b..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/native_class.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/number.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/is_integer.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/string-repeat/lib/repeat.js","../node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/math-base-special-ceil/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/left_pad.js","../node_modules/@stdlib/string-right-pad/lib/right_pad.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support' ;\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class' ;\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport builtin from './native_class.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property' ;\nimport toStringTag from './tostringtag.js' ;\nimport toStr from './tostring.js' ;\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js' ;\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class' ;\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf' ;\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32' ;\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support' ;\nimport builtin from './float32array.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array' ;\nimport PINF from '@stdlib/constants-float64-pinf' ;\nimport GlobalFloat32Array from './float32array.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class' ;\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max' ;\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32' ;\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support' ;\nimport builtin from './uint32array.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array' ;\nimport UINT32_MAX from '@stdlib/constants-uint32-max' ;\nimport GlobalUint32Array from './uint32array.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf' ;\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32' ;\nimport Uint32Array from '@stdlib/array-uint32' ;\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf' ;\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32' ;\nimport Uint32Array from '@stdlib/array-uint32' ;\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property' ;\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js' ;\nimport builtin from './builtin.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property' ;\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor' ;\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport nativeClass from '@stdlib/utils-native-class' ;\nimport Number from '@stdlib/number-ctor' ;\nimport test from './try2serialize.js' ;\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js' ; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isNumber from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf' ;\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor' ;\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf' ;\nimport NINF from '@stdlib/constants-float64-ninf' ;\nimport isInt from '@stdlib/math-base-assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor' ;\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number' ;\nimport isInt from './integer.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number' ;\nimport isInt from './integer.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isInteger from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isNonNegativeInteger from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport nativeClass from '@stdlib/utils-native-class' ;\nimport test from './try2valueof.js' ;\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js' ; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isString from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js' ;\nimport zeroPad from './zero_pad.js' ;\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js' ;\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js' ;\nimport isString from './is_string.js' ;\nimport formatDouble from './format_double.js' ;\nimport spacePad from './space_pad.js' ;\nimport zeroPad from './zero_pad.js' ;\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate' ;\nimport tokenize from '@stdlib/string-base-format-tokenize' ;\nimport isString from './is_string.js' ;\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\nimport format from '@stdlib/string-format' ;\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', str.length * n ) );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor' ;\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf' ;\nimport NINF from '@stdlib/constants-float32-ninf' ;\nimport BIAS from '@stdlib/constants-float32-exponent-bias' ;\nimport abs from '@stdlib/math-base-special-abs' ;\nimport floor from '@stdlib/math-base-special-floor' ;\nimport rpad from '@stdlib/string-right-pad' ;\nimport lpad from '@stdlib/string-left-pad' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport div2 from './div2.js' ;\nimport mult2 from './mult2.js' ;\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf' ;\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf' ;\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias' ;\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport ceil from '@stdlib/math-base-special-ceil' ;\nimport format from '@stdlib/string-format' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport ceil from '@stdlib/math-base-special-ceil' ;\nimport format from '@stdlib/string-format' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","nativeClass","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass$1","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","main","ctor","Float32Array$1","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","hasUint32Array","Uint32Array","Uint32Array$1","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","isNumber","Number$1","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","String","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","repeat","rpt","cnt","RangeError","ceil","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","len","p","lpad","rpad"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,YEpB/B,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA+B,mBAAXV,OAA0BA,OAAOE,YAAc,GC8BtEO,EADIE,ICDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EHHgBC,EAAOC,EGK3B,GAAKL,QACJ,OAAOT,EAAMe,KAAMN,GAEpBE,EAAMF,EAAGV,GHRkBe,EGSJf,EAAvBW,EHPCG,OAFmBA,EGSAJ,IHFbL,EAAIW,KAAMF,EAAOC,GGKxB,IACCL,EAAGV,QAAgB,EAClB,MAAQiB,GACT,OAAOhB,EAAMe,KAAMN,GASpB,OAPAG,EAAMZ,EAAMe,KAAMN,GAEbC,EACJD,EAAGV,GAAgBY,SAEZF,EAAGV,GAEJa,GC1BR,SAAsBH,GACrB,OAAOT,EAAMe,KAAMN,IFWpB,IAAAQ,EAAeX,EGjCXY,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBC,EAAiC,mBAAjBJ,aAAgCA,aAAe,KCAnE,IAAIK,EAAiC,mBAAjBL,aAAgCA,kBAAe,EC6BnE,IAAAM,ECbA,WACC,IAAIC,EACAC,ELMoBd,EKJxB,GAAmC,mBAAvBe,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bf,EKGNc,EADjBD,GLAER,GAAmBL,aAAiBM,cACb,0BAAzBb,EAAaO,KKCC,IAAbc,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,EAEb,MAAQb,GACTU,GAAO,EAER,OAAOA,EDhBHI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,oBCHdC,EAA0C,mBAAhBC,YC4B9B,ICjCIX,EAAgC,mBAAhBW,YAA+BA,YAAc,KCAjE,IAAIV,EAAgC,mBAAhBU,YAA+BA,iBAAc,EC6BjE,IAAAC,ECbA,WACC,IAAIT,EACAC,ELMmBd,EKJvB,GAAkC,mBAAtBuB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBxB,EKINc,EADhBD,GLDEO,GAAkBpB,aAAiBqB,aACZ,yBAAzB5B,EAAaO,KKEC,IAAbc,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,GAEL,MAAQX,GACTU,GAAO,EAER,OAAOA,EDlBHY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,oBCSdO,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAX,EALIU,EAAc,GC9BdA,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbnB,EAA0C,mBAA1BtB,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eC/BxBC,EAAiB5C,OAAOC,UACxBF,EAAQ6C,EAAe1C,SACvB2C,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBC4BlC,IAAAC,ECpBA,WAEC,IAEC,OADAV,EAAgB,GAAI,IAAK,KAClB,EACN,MAAQ5B,GACT,OAAO,GDKJuC,GACaxB,EDgBlB,SAAyByB,EAAKC,EAAMC,GACnC,IAAIxD,EACAyD,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBxD,EAAMe,KAAMyC,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B1D,EAAMe,KAAM2C,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBR,EAAanC,KAAMyC,EAAKC,IACxBL,EAAarC,KAAMyC,EAAKC,IAGxBvD,EAAYsD,EAAIO,UAChBP,EAAIO,UAAYlB,SAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW7C,MAGzB2C,EAAIO,UAAY7D,GAEhBsD,EAAKC,GAASC,EAAW7C,OAG3B+C,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAI7B,MAAO,wHASlB,OANK4B,GAAUd,GACdA,EAAa/B,KAAMyC,EAAKC,EAAMC,EAAWM,KAErCH,GAAUb,GACdA,EAAajC,KAAMyC,EAAKC,EAAMC,EAAWO,KAEnCT,GGjER,SAASU,EAA0BV,EAAKC,EAAM5C,GAC7C+B,EAAgBY,EAAKC,EAAM,CAC1BU,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxD,MAASA,ICZX,SAASyD,EAAUzD,GAClB,MAA0B,iBAAVA,ECjBjB,IAAA0D,EAAelD,OCMXlB,EAAWkB,EAAOnB,UAAUC,SCEhC,IAAIP,EAAMY,IAmBV,SAAS8D,EAAUzD,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,IAGjBzB,ECpBP,SAAeiB,GACd,IAEC,OADAV,EAASY,KAAMF,IACR,EACN,MAAQG,GACT,OAAO,GDgBCwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,KEPxB,SAASyD,EAAUzD,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCqB5C8D,EAAAL,EAAA,cAAAG,GACAE,EAAAL,EAAA,WAAAI,GCnBA,IAAIE,EAAevD,EAAOwD,kBClB1B,SAASC,EAAWjE,GACnB,OACCA,EAAQgB,GACRhB,EAAQ4B,GCGDC,EADWqC,EDDXlE,KCEakE,EADtB,IAAoBA,ECCpB,SAASD,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,GCHT,SAASiE,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAAMoE,WCKf,SAASH,EAAWjE,GACnB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCV5C,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,GAAS,ECHX,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,EAAMoE,WAAa,ECUrB,SAASC,EAAsBrE,GAC9B,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCrB5C,SAASsE,EAAUtE,GAClB,MAA0B,iBAAVA,ECoCjB8D,EAAAG,EAAA,cAAAL,GACAE,EAAAG,EAAA,WAAAJ,GCAAC,EAAAO,EAAA,cAAAT,GACAE,EAAAO,EAAA,WAAAR,GCpDA,IAAIO,EAAUG,OAAOlF,UAAU+E,QCQ/B,IAAIrF,EAAMY,IAmBV,SAAS2E,EAAUtE,GAClB,MAAsB,iBAAVA,IACNA,aAAiBuE,SAGjBxF,ECnBP,SAAeiB,GACd,IAEC,OADAoE,EAAQlE,KAAMF,IACP,EACN,MAAQG,GACT,OAAO,GDeCwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,KEdxB,SAASsE,EAAUtE,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCuB5C8D,EAAAQ,EAAA,cAAAV,GACAE,EAAAQ,EAAA,WAAAT,GC7BA,SAASJ,EAAUzD,GAClB,MAA0B,iBAAVA,ECCjB,SAASwE,EAAOC,GACf,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,EAeR,SAAS4E,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,GAqCPM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,ECvCT,IAAIQ,EAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAajC,SAASC,GAAeC,GACvB,IAAIC,EACA3F,EACA2E,EAEJ,OAASe,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFA3F,EAAM0F,EAAMG,IACZlB,EAAImB,SAAU9F,EAAK,KACb+F,SAAUpB,GAAM,CACrB,IAAMjB,EAAU1D,GACf,MAAM,IAAIoB,MAAO,2BAA6BpB,GAE/C2E,EAAI,EAmCL,OAjCKA,EAAI,IAA2B,MAApBe,EAAME,WAA8B,KAATD,KAC1ChB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACR3E,IAAS2E,GAAIpF,SAAUoG,GAClBD,EAAMM,YACVhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAE5CjG,EAAM,IAAMA,IAEZA,EAAM2E,EAAEpF,SAAUoG,GACZhB,GAAMe,EAAMM,UAENN,EAAMM,YACjBhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAF3CjG,EAAM,GAIF0F,EAAMQ,OACVlG,EAAM0F,EAAMQ,KAAOlG,IAGP,KAAT2F,IACCD,EAAMS,YACVnG,EAAM,KAAOA,GAEdA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,EAAUlF,KAAMH,IAEJ,IAAT2F,GACCD,EAAMS,WAAiC,MAApBnG,EAAIoG,OAAQ,KACnCpG,EAAM,IAAMA,GAGPA,EC1ER,SAASuE,GAAUtE,GAClB,MAA0B,iBAAVA,ECVjB,IAAIoG,GAAMtE,KAAKsE,IACXhB,GAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAC7Bc,GAAU9B,OAAOlF,UAAUgH,QAK3BC,GAAoB,WACpBC,GAAoB,UACpBC,GAAiB,UACjBC,GAAuB,UACvBC,GAA0B,OAC1BC,GAAqB,QACrBC,GAAqB,gBAazB,SAASC,GAAcpB,GACtB,IAAIqB,EACA/G,EACAgH,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMtD,EAAUgC,EAAMG,KACrB,MAAM,IAAIzE,MAAO,yCAA2CpB,GAG7DgH,EAAItB,EAAMG,IAEX,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJ5F,EAAMgH,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJhG,EAAMgH,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,GAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEX/G,EAAMgH,EAAEE,cAAeH,IAEvB/G,EAAMgH,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACXnG,EAAMsG,GAAQnG,KAAMH,EAAK6G,GAAoB,OAC7C7G,EAAMsG,GAAQnG,KAAMH,EAAK4G,GAAoB,KAC7C5G,EAAMsG,GAAQnG,KAAMH,EAAK2G,GAAyB,KAEnD,MACD,QACC,MAAM,IAAIvF,MAAO,mCAAqCsE,EAAME,WAc7D,OAZA5F,EAAMsG,GAAQnG,KAAMH,EAAKuG,GAAmB,SAC5CvG,EAAMsG,GAAQnG,KAAMH,EAAKwG,GAAmB,SACvCd,EAAMS,YACVnG,EAAMsG,GAAQnG,KAAMH,EAAKyG,GAAgB,OACzCzG,EAAMsG,GAAQnG,KAAMH,EAAK0G,GAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpBlG,EAAM0F,EAAMQ,KAAOlG,GAEpBA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,GAAUlF,KAAMH,GC1ElB,SAASqH,GAAQ3C,GAChB,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,EAeR,SAASsH,GAAUzC,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAMwC,GAAQpC,GACdoC,GAAQpC,GAAQJ,EC1BlB,IAAI0C,GAAe/C,OAAO+C,aACtBC,GAAQC,MACRC,GAAUC,MAAMD,QAYpB,SAASE,GAAYlC,GACpB,IAAI1F,EAAM,GAMV,OALAA,EAAI4F,UAAYF,EAAME,UACtB5F,EAAIgG,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DhG,EAAI8E,MAAQY,EAAMZ,MAClB9E,EAAI6H,MAAQnC,EAAMmC,OAAS,GAC3B7H,EAAI8H,QAAUpC,EAAMoC,QACb9H,EAoBR,SAAS+H,GAAmBC,GAC3B,IAAIC,EACAJ,EACAnC,EACAwC,EACAC,EACAnI,EACAoI,EACAzD,EACA0D,EAEJ,IAAMX,GAASM,GACd,MAAM,IAAI9E,UAAW,8DAAgE8E,EAAS,MAI/F,IAFAhI,EAAM,GACNoI,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GAAKJ,GADLmB,EAAQsC,EAAQrD,IAEf3E,GAAO0F,MACD,CAGN,GAFAuC,OAAgC,IAApBvC,EAAMM,YAClBN,EAAQkC,GAAYlC,IACRE,UACX,MAAM,IAAI1C,UAAW,oEAAqEyB,EAAG,cAAgBe,EAAQ,MAMtH,IAJKA,EAAMoC,UACVM,EAAM1C,EAAMoC,SAEbD,EAAQnC,EAAMmC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMzB,OAAQiC,IAErB,IAAK,IACJ3C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWT,EAAMU,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI/E,MAAO,iBAAmB8G,GAGtC,GAAqB,MAAhBxC,EAAMZ,MAAgB,CAG1B,GAFAY,EAAMZ,MAAQgB,SAAU0C,UAAWJ,GAAO,IAC1CA,GAAO,EACFZ,GAAO9B,EAAMZ,OACjB,MAAM,IAAI5B,UAAW,wCAA0CkF,EAAM,6BAA+B1C,EAAMZ,MAAQ,MAE9GY,EAAMZ,MAAQ,IAClBY,EAAMO,UAAW,EACjBP,EAAMZ,OAASY,EAAMZ,OAGvB,GAAKmD,GACqB,MAApBvC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWJ,GAAO,IAC9CA,GAAO,EACFZ,GAAO9B,EAAMM,WACjB,MAAM,IAAI9C,UAAW,4CAA8CkF,EAAM,6BAA+B1C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBiC,GAAY,GAKf,OADAvC,EAAMG,IAAM2C,UAAWJ,GACd1C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECqC,IACJvC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,GAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMwB,GAAO9B,EAAMG,KAAQ,CAE1B,IADAsC,EAAMrC,SAAUJ,EAAMG,IAAK,KAChB,GAAKsC,EAAM,IACrB,MAAM,IAAI/G,MAAO,kCAAoCsE,EAAMG,KAE5DH,EAAMG,IAAQ2B,GAAOW,GACpB3D,OAAQkB,EAAMG,KACd0B,GAAcY,GAEhB,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLvC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,GAAcpB,GAC1B,MACD,QACC,MAAM,IAAItE,MAAO,sBAAwBsE,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIX,OAASQ,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMjB,EAASc,EAAMG,IAAKH,EAAMZ,OAASY,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMZ,QACjBY,EAAMG,IAAMyB,GAAU5B,EAAMG,IAAKH,EAAMZ,MAAOY,EAAMO,WAErDjG,GAAO0F,EAAMG,KAAO,GACpBuC,GAAO,EAGT,OAAOpI,EC1LR,IAAI2I,GAAK,6EAYT,SAASC,GAAOC,GACf,IAAInD,EAAQ,CACXoC,QAAae,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDhB,MAASgB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,EAgBR,SAASoD,GAAgBjE,GACxB,IAAIkE,EACAf,EACAa,EACAG,EAKJ,IAHAhB,EAAS,GACTgB,EAAO,EACPH,EAAQF,GAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,GAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ8C,EAAOoB,KAAML,GAEdf,EAAOoB,KAAMR,GAAOC,IACpBG,EAAOL,GAAGQ,UACVN,EAAQF,GAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ8C,EAAOoB,KAAML,GAEPf,ECjDR,SAASzD,GAAUtE,GAClB,MAA0B,iBAAVA,ECWjB,SAASoJ,GAAQxE,GAChB,IAAImD,EACAsB,EACA3E,EAEJ,IAAMJ,GAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAKjG,IAHAmD,EAASuB,GAAU1E,IACnByE,EAAO,IAAI3B,MAAOa,UAAUtD,SACtB,GAAM8C,EACNrD,EAAI,EAAGA,EAAI2E,EAAKpE,OAAQP,IAC7B2E,EAAM3E,GAAM6D,UAAW7D,GAExB,OAAO6E,GAAYC,MAAO,KAAMH,GC+BjC,SAASI,GAAQ7E,EAAKH,GACrB,IAAIiF,EACAC,EACJ,IAAMrF,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBI,GAC3B,MAAM,IAAIxB,UAAWmG,GAAQ,gFAAiF3E,IAE/G,GAAoB,IAAfG,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAGR,GAAKG,EAAIK,OAASR,ECrDY,iBDsD7B,MAAM,IAAImF,WAAYR,GAAQ,6FAA8FxE,EAAIK,OAASR,IAI1I,IAFAiF,EAAM,GACNC,EAAMlF,EAGY,IAAP,EAAJkF,KACLD,GAAO9E,GAIK,KADb+E,KAAS,IAKT/E,GAAOA,EAER,OAAO8E,EE9ER,IAAIG,GAAO/H,KAAK+H,KCMhB,SAASC,GAAM5F,GAKd,IAJA,IACI6F,EADAnF,EAAM,GAIFV,EAAI,GAIVU,GAHDmF,EAAI7F,EAAI,MACRA,EAAIrC,EAAOkI,IAEJ,IAAMnF,EAEN,IAAMA,EAGd,OAAOA,EC+BR,SAASoF,GAAiB9F,GACzB,IAAI+F,EACAhE,EACArB,EACAsF,EACAzF,EACAsC,EACArC,EASJ,GALCuB,EADI/B,EAAI,GAAO,EAAIA,IAAMtC,EAClB,IAEA,IAGHsC,IAAMlD,GAAQkD,IAAMtC,EAIxB,OAAOqE,GAFPiE,EAAMT,GAAQ,IA3EQ,KA4EtB7E,EAAM6E,GAAQ,IA7EW,KAiF1B,GAAKvF,GAAMA,EAIV,OAAO+B,GAFPiE,EAAMT,GAAQ,IAlFQ,KAmFtB7E,EAAM,IAAM6E,GAAQ,IAAKU,KAI1B,GAAW,IAANjG,EAIJ,OAAO+B,GAFPiE,EAAMT,GAAQ,IAzFQ,KA0FtB7E,EAAM6E,GAAQ,IA3FW,KA2G1B,GAPA1C,GANA7C,ECnFD,SAAcA,GACb,OAAOpC,KAAKsE,IAAKlC,GDkFbkC,CAAKlC,KAGTO,EAAI5C,EAAOqC,IAMXO,EAAIqF,GAAMrF,GACVsC,EElGD,SAAgB7C,GACf,IAAIU,EACAmF,EACArF,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAANV,EACJ,OAAOU,EAKR,IAHAwD,EA/Bc,IAkCR1D,EAAI,EAAGA,EAlCC,OAmCbqF,EAAQ,EAAJ7F,IACM,GACTA,EAAI6F,EAAI,EACRnF,GAAO,IAtCK,MAuCPwD,IACJA,EAAI1D,KAGLR,EAAI6F,EACJnF,GAAO,OAGG,IAANmF,GAAarF,EAAE0D,EA9CP,KAiCa1D,KAkB3B,OAAOE,EFmEHwF,CAAOrD,GAGNtC,EAEJyF,EAAMzF,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIqC,EAAE9B,OAAQP,IAC1B,GAAgB,MAAXqC,EAAGrC,GAAc,CACrBuF,EAAQvF,EAAI,EACZ,MAIFwF,GAAOD,EAwBR,OArBArF,EAAMH,EAAIsC,EACLmD,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTzF,EAAMA,EAAI6D,UAAWwB,IAGrBrF,EAAMA,EAAI6D,UAAW,GAItByB,EItHD,SAAetF,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,sEAGvBW,EAAI,IAEL,GAAKD,EPzByB,iBO0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGD6E,GAAQc,EADf9F,EAAIoF,GAAMpF,IACcG,EJ0FlB4F,CADNN,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpCtF,EKzHD,SAAeA,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,kEAGvBW,EAAI,IAEL,GAAKD,ERzByB,iBQ0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGDA,EAAM6E,GAAQc,EADrB9F,EAAIoF,GAAMpF,IL8FJgG,CAAM7F,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IA+InBxC,EAAOiE,EAAMtF"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index 57a47f1..0000000 --- a/stats.html +++ /dev/null @@ -1,2689 +0,0 @@ - - - - - - - - RollUp Visualizer - - - -
- - - - - From 012fbcec58b28bc32c2997150eb44da4dcf3225c Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 1 Aug 2022 16:33:15 +0000 Subject: [PATCH 016/146] Auto-generated commit --- .editorconfig | 181 -- .eslintrc.js | 1 - .gitattributes | 33 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 62 - .github/workflows/cancel.yml | 56 - .github/workflows/close_pull_requests.yml | 44 - .github/workflows/examples.yml | 62 - .github/workflows/npm_downloads.yml | 108 - .github/workflows/productionize.yml | 760 ------ .github/workflows/publish.yml | 117 - .github/workflows/test.yml | 92 - .github/workflows/test_bundles.yml | 180 -- .github/workflows/test_coverage.yml | 123 - .github/workflows/test_install.yml | 83 - .gitignore | 178 -- .npmignore | 227 -- .npmrc | 28 - CHANGELOG.md | 5 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 ---- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 -- lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 2689 +++++++++++++++++++++ test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 -- 45 files changed, 2708 insertions(+), 3929 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0fd4d6c..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 7212d81..0000000 --- a/.gitattributes +++ /dev/null @@ -1,33 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index 121689e..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2022-08-01T01:23:47.135Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 29bf533..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index a7a7f51..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,56 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - uses: styfle/cancel-workflow-action@0.9.0 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index 576054a..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,44 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 39b1613..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout the repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 7ca169c..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,108 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '0 8 * * 6' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "::set-output name=package_name::$name" - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "::set-output name=data::$data" - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - uses: actions/upload-artifact@v2 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - uses: distributhor/workflow-webhook@v2 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 5094681..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,760 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - uses: actions/checkout@v3 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Format error messages: - - name: 'Replace double quotes with single quotes in rewritten format string error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\( \"([a-zA-Z0-9]+)\"/Error\( format\( '\1'/g" {} \; - - # Format string literal error messages: - - name: 'Replace double quotes with single quotes in rewritten string literal error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\(\"([a-zA-Z0-9]+)\"\)/Error\( format\( '\1' \)/g" {} \; - - # Format code: - - name: 'Replace double quotes with single quotes in inserted `require` calls' - run: | - find . -name "*.js" -exec sed -E -i "s/require\( ?\"@stdlib\/error-tools-fmtprodmsg\" ?\);/require\( '@stdlib\/error-tools-fmtprodmsg' \);/g" {} \; - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\"/\"@stdlib\/error-tools-fmtprodmsg\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^0.0.x'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "::set-output name=remote-exists::true" - else - echo "::set-output name=remote-exists::false" - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - uses: act10ns/slack@v1 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "::set-output name=remote-exists::true" - else - echo "::set-output name=remote-exists::false" - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "::set-output name=alias::${alias}" - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 964919514516bb863bb3f8a8e522f073460bfb88 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 1 Sep 2022 04:19:33 +0000 Subject: [PATCH 017/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b89a991..36dde03 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.0.x", "@stdlib/string-left-pad": "^0.0.x", "@stdlib/string-repeat": "^0.0.x", - "@stdlib/string-right-pad": "^0.0.x" + "@stdlib/string-right-pad": "^0.0.x", + "@stdlib/error-tools-fmtprodmsg": "^0.0.x" }, "devDependencies": { "@stdlib/assert-is-string": "^0.0.x", @@ -98,4 +99,4 @@ "type": "patreon", "url": "https://www.patreon.com/athan" } -} +} \ No newline at end of file From 47507657a4f4bb12db27641820e047e0e2f06be9 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 1 Sep 2022 12:20:07 +0000 Subject: [PATCH 018/146] Remove files --- mod.d.ts | 78 -- mod.js | 4 - mod.js.map | 1 - stats.html | 2689 ---------------------------------------------------- 4 files changed, 2772 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 1881a26..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 2.0 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 09537e2..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2022 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol.toStringTag:"";i=e()?function(r){var e,i,o,u,c;if(null==r)return t.call(r);i=r[a],c=a,e=null!=(u=r)&&n.call(u,c);try{r[a]=void 0}catch(e){return t.call(r)}return o=t.call(r),e?r[a]=i:delete r[a],o}:function(r){return t.call(r)};var o=i,u="function"==typeof Float32Array;var c=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var s="function"==typeof Float32Array?Float32Array:void 0;var f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(u&&t instanceof Float32Array||"[object Float32Array]"===o(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===c}catch(e){r=!1}return r}()?s:function(){throw new Error("not implemented")},g="function"==typeof Uint32Array;var p="function"==typeof Uint32Array?Uint32Array:null;var h="function"==typeof Uint32Array?Uint32Array:void 0;var d=function(){var r,e,t;if("function"!=typeof p)return!1;try{e=new p(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(g&&t instanceof Uint32Array||"[object Uint32Array]"===o(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?h:function(){throw new Error("not implemented")},v=new f(1);new d(v.buffer)[0]=2139095040;var m=v[0],w=new f(1);new d(w.buffer)[0]=4286578688;var y=w[0];var b=Math.floor,E="function"==typeof Object.defineProperty?Object.defineProperty:null;var _=Object.defineProperty,S=Object.prototype,T=S.toString,x=S.__defineGetter__,V=S.__defineSetter__,A=S.__lookupGetter__,j=S.__lookupSetter__;var F=function(){try{return E({},"x",{}),!0}catch(r){return!1}}()?_:function(r,e,t){var n,i,a,o;if("object"!=typeof r||null===r||"[object Array]"===T.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof t||null===t||"[object Array]"===T.call(t))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+t+"`.");if((i="value"in t)&&(A.call(r,e)||j.call(r,e)?(n=r.__proto__,r.__proto__=S,delete r[e],r[e]=t.value,r.__proto__=n):r[e]=t.value),a="get"in t,o="set"in t,i&&(a||o))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return a&&x&&x.call(r,e,t.get),o&&V&&V.call(r,e,t.set),r};function k(r,e,t){F(r,e,{configurable:!1,enumerable:!1,writable:!1,value:t})}function O(r){return"number"==typeof r}var I=Number,P=I.prototype.toString;var R=e();function N(r){return"object"==typeof r&&(r instanceof I||(R?function(r){try{return P.call(r),!0}catch(r){return!1}}(r):"[object Number]"===o(r)))}function $(r){return O(r)||N(r)}k($,"isPrimitive",O),k($,"isObject",N);var U=I.NEGATIVE_INFINITY;function C(r){return rU&&b(e=r)===e;var e}function G(r){return O(r)&&C(r)}function Z(r){return N(r)&&C(r.valueOf())}function M(r){return G(r)||Z(r)}function W(r){return G(r)&&r>=0}function L(r){return Z(r)&&r.valueOf()>=0}function X(r){return W(r)||L(r)}function Y(r){return"string"==typeof r}k(M,"isPrimitive",G),k(M,"isObject",Z),k(X,"isPrimitive",W),k(X,"isObject",L);var z=String.prototype.valueOf;var q=e();function B(r){return"object"==typeof r&&(r instanceof String||(q?function(r){try{return z.call(r),!0}catch(r){return!1}}(r):"[object String]"===o(r)))}function D(r){return Y(r)||B(r)}k(D,"isPrimitive",Y),k(D,"isObject",B);function H(r){return"number"==typeof r}function J(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=or.call(t,pr,"$1e"),t=or.call(t,gr,"e"),t=or.call(t,fr,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=or.call(t,ur,"e+0$1"),t=or.call(t,cr,"e-0$1"),r.alternate&&(t=or.call(t,lr,"$1."),t=or.call(t,sr,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===ar.call(r.specifier)?ar.call(t):ir.call(t)}function dr(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=wr(a)?String(n.arg):mr(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=hr(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=K(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=vr(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var _r=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Sr(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function Tr(r){var e,t,n,i;for(t=[],i=0,n=_r.exec(r);n;)(e=r.slice(i,_r.lastIndex-n[0].length)).length&&t.push(e),t.push(Sr(n)),i=_r.lastIndex,n=_r.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function xr(r){return"string"==typeof r}function Vr(r){var e,t,n;if(!xr(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=Tr(r),(t=new Array(arguments.length))[0]=e,n=1;n9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",r.length*e));for(t="",n=e;1==(1&n)&&(t+=r),0!==(n>>>=1);)r+=r;return t}var jr=Math.ceil;function Fr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=b(e))?"0"+t:"1"+t;return t}function kr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===y?"1":"0",r===m||r===y)return t+(i=Ar("1",8))+(n=Ar("0",23));if(r!=r)return t+(i=Ar("1",8))+(n="1"+Ar("0",22));if(0===r)return t+(i=Ar("0",8))+(n=Ar("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=b(r)),a=Fr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:Ar(i,n=jr(n))+r}(i=Fr(i+127),8,"0"),n=function(r,e,t){var n,i;if(!Y(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!W(e))throw new TypeError(Vr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:r+Ar(i,n=jr(n))}(n,23,"0").substring(0,23),t+i+n}export{kr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 227a49b..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/native_class.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/number.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/is_integer.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/string-repeat/lib/repeat.js","../node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/math-base-special-ceil/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/left_pad.js","../node_modules/@stdlib/string-right-pad/lib/right_pad.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support' ;\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class' ;\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport builtin from './native_class.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property' ;\nimport toStringTag from './tostringtag.js' ;\nimport toStr from './tostring.js' ;\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js' ;\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class' ;\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf' ;\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32' ;\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support' ;\nimport builtin from './float32array.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array' ;\nimport PINF from '@stdlib/constants-float64-pinf' ;\nimport GlobalFloat32Array from './float32array.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class' ;\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max' ;\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32' ;\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support' ;\nimport builtin from './uint32array.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array' ;\nimport UINT32_MAX from '@stdlib/constants-uint32-max' ;\nimport GlobalUint32Array from './uint32array.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf' ;\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32' ;\nimport Uint32Array from '@stdlib/array-uint32' ;\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf' ;\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32' ;\nimport Uint32Array from '@stdlib/array-uint32' ;\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property' ;\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js' ;\nimport builtin from './builtin.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property' ;\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor' ;\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport nativeClass from '@stdlib/utils-native-class' ;\nimport Number from '@stdlib/number-ctor' ;\nimport test from './try2serialize.js' ;\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js' ; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isNumber from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf' ;\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor' ;\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf' ;\nimport NINF from '@stdlib/constants-float64-ninf' ;\nimport isInt from '@stdlib/math-base-assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor' ;\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number' ;\nimport isInt from './integer.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number' ;\nimport isInt from './integer.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isInteger from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isNonNegativeInteger from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport nativeClass from '@stdlib/utils-native-class' ;\nimport test from './try2valueof.js' ;\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js' ; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isString from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js' ;\nimport zeroPad from './zero_pad.js' ;\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js' ;\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js' ;\nimport isString from './is_string.js' ;\nimport formatDouble from './format_double.js' ;\nimport spacePad from './space_pad.js' ;\nimport zeroPad from './zero_pad.js' ;\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate' ;\nimport tokenize from '@stdlib/string-base-format-tokenize' ;\nimport isString from './is_string.js' ;\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\nimport format from '@stdlib/string-format' ;\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', str.length * n ) );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor' ;\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf' ;\nimport NINF from '@stdlib/constants-float32-ninf' ;\nimport BIAS from '@stdlib/constants-float32-exponent-bias' ;\nimport abs from '@stdlib/math-base-special-abs' ;\nimport floor from '@stdlib/math-base-special-floor' ;\nimport rpad from '@stdlib/string-right-pad' ;\nimport lpad from '@stdlib/string-left-pad' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport div2 from './div2.js' ;\nimport mult2 from './mult2.js' ;\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf' ;\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf' ;\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias' ;\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport ceil from '@stdlib/math-base-special-ceil' ;\nimport format from '@stdlib/string-format' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport ceil from '@stdlib/math-base-special-ceil' ;\nimport format from '@stdlib/string-format' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","nativeClass","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass$1","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","main","ctor","Float32Array$1","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","hasUint32Array","Uint32Array","Uint32Array$1","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","isNumber","Number$1","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","String","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","repeat","rpt","cnt","RangeError","ceil","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","len","p","lpad","rpad"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,YEpB/B,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA+B,mBAAXV,OAA0BA,OAAOE,YAAc,GC8BtEO,EADIE,ICDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EHHgBC,EAAOC,EGK3B,GAAKL,QACJ,OAAOT,EAAMe,KAAMN,GAEpBE,EAAMF,EAAGV,GHRkBe,EGSJf,EAAvBW,EHPCG,OAFmBA,EGSAJ,IHFbL,EAAIW,KAAMF,EAAOC,GGKxB,IACCL,EAAGV,QAAgB,EAClB,MAAQiB,GACT,OAAOhB,EAAMe,KAAMN,GASpB,OAPAG,EAAMZ,EAAMe,KAAMN,GAEbC,EACJD,EAAGV,GAAgBY,SAEZF,EAAGV,GAEJa,GC1BR,SAAsBH,GACrB,OAAOT,EAAMe,KAAMN,IFWpB,IAAAQ,EAAeX,EGjCXY,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBC,EAAiC,mBAAjBJ,aAAgCA,aAAe,KCAnE,IAAIK,EAAiC,mBAAjBL,aAAgCA,kBAAe,EC6BnE,IAAAM,ECbA,WACC,IAAIC,EACAC,ELMoBd,EKJxB,GAAmC,mBAAvBe,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bf,EKGNc,EADjBD,GLAER,GAAmBL,aAAiBM,cACb,0BAAzBb,EAAaO,KKCC,IAAbc,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,EAEb,MAAQb,GACTU,GAAO,EAER,OAAOA,EDhBHI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,oBCHdC,EAA0C,mBAAhBC,YC4B9B,ICjCIX,EAAgC,mBAAhBW,YAA+BA,YAAc,KCAjE,IAAIV,EAAgC,mBAAhBU,YAA+BA,iBAAc,EC6BjE,IAAAC,ECbA,WACC,IAAIT,EACAC,ELMmBd,EKJvB,GAAkC,mBAAtBuB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBxB,EKINc,EADhBD,GLDEO,GAAkBpB,aAAiBqB,aACZ,yBAAzB5B,EAAaO,KKEC,IAAbc,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,GAEL,MAAQX,GACTU,GAAO,EAER,OAAOA,EDlBHY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,oBCSdO,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAX,EALIU,EAAc,GC9BdA,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbnB,EAA0C,mBAA1BtB,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eC/BxBC,EAAiB5C,OAAOC,UACxBF,EAAQ6C,EAAe1C,SACvB2C,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBC4BlC,IAAAC,ECpBA,WAEC,IAEC,OADAV,EAAgB,GAAI,IAAK,KAClB,EACN,MAAQ5B,GACT,OAAO,GDKJuC,GACaxB,EDgBlB,SAAyByB,EAAKC,EAAMC,GACnC,IAAIxD,EACAyD,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBxD,EAAMe,KAAMyC,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B1D,EAAMe,KAAM2C,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBR,EAAanC,KAAMyC,EAAKC,IACxBL,EAAarC,KAAMyC,EAAKC,IAGxBvD,EAAYsD,EAAIO,UAChBP,EAAIO,UAAYlB,SAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW7C,MAGzB2C,EAAIO,UAAY7D,GAEhBsD,EAAKC,GAASC,EAAW7C,OAG3B+C,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAI7B,MAAO,wHASlB,OANK4B,GAAUd,GACdA,EAAa/B,KAAMyC,EAAKC,EAAMC,EAAWM,KAErCH,GAAUb,GACdA,EAAajC,KAAMyC,EAAKC,EAAMC,EAAWO,KAEnCT,GGjER,SAASU,EAA0BV,EAAKC,EAAM5C,GAC7C+B,EAAgBY,EAAKC,EAAM,CAC1BU,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxD,MAASA,ICZX,SAASyD,EAAUzD,GAClB,MAA0B,iBAAVA,ECjBjB,IAAA0D,EAAelD,OCMXlB,EAAWkB,EAAOnB,UAAUC,SCEhC,IAAIP,EAAMY,IAmBV,SAAS8D,EAAUzD,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,IAGjBzB,ECpBP,SAAeiB,GACd,IAEC,OADAV,EAASY,KAAMF,IACR,EACN,MAAQG,GACT,OAAO,GDgBCwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,KEPxB,SAASyD,EAAUzD,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCqB5C8D,EAAAL,EAAA,cAAAG,GACAE,EAAAL,EAAA,WAAAI,GCnBA,IAAIE,EAAevD,EAAOwD,kBClB1B,SAASC,EAAWjE,GACnB,OACCA,EAAQgB,GACRhB,EAAQ4B,GCGDC,EADWqC,EDDXlE,KCEakE,EADtB,IAAoBA,ECCpB,SAASD,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,GCHT,SAASiE,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAAMoE,WCKf,SAASH,EAAWjE,GACnB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCV5C,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,GAAS,ECHX,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,EAAMoE,WAAa,ECUrB,SAASC,EAAsBrE,GAC9B,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCrB5C,SAASsE,EAAUtE,GAClB,MAA0B,iBAAVA,ECoCjB8D,EAAAG,EAAA,cAAAL,GACAE,EAAAG,EAAA,WAAAJ,GCAAC,EAAAO,EAAA,cAAAT,GACAE,EAAAO,EAAA,WAAAR,GCpDA,IAAIO,EAAUG,OAAOlF,UAAU+E,QCQ/B,IAAIrF,EAAMY,IAmBV,SAAS2E,EAAUtE,GAClB,MAAsB,iBAAVA,IACNA,aAAiBuE,SAGjBxF,ECnBP,SAAeiB,GACd,IAEC,OADAoE,EAAQlE,KAAMF,IACP,EACN,MAAQG,GACT,OAAO,GDeCwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,KEdxB,SAASsE,EAAUtE,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCuB5C8D,EAAAQ,EAAA,cAAAV,GACAE,EAAAQ,EAAA,WAAAT,GC7BA,SAASJ,EAAUzD,GAClB,MAA0B,iBAAVA,ECCjB,SAASwE,EAAOC,GACf,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,EAeR,SAAS4E,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,GAqCPM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,ECvCT,IAAIQ,EAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAajC,SAASC,GAAeC,GACvB,IAAIC,EACA3F,EACA2E,EAEJ,OAASe,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFA3F,EAAM0F,EAAMG,IACZlB,EAAImB,SAAU9F,EAAK,KACb+F,SAAUpB,GAAM,CACrB,IAAMjB,EAAU1D,GACf,MAAM,IAAIoB,MAAO,2BAA6BpB,GAE/C2E,EAAI,EAmCL,OAjCKA,EAAI,IAA2B,MAApBe,EAAME,WAA8B,KAATD,KAC1ChB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACR3E,IAAS2E,GAAIpF,SAAUoG,GAClBD,EAAMM,YACVhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAE5CjG,EAAM,IAAMA,IAEZA,EAAM2E,EAAEpF,SAAUoG,GACZhB,GAAMe,EAAMM,UAENN,EAAMM,YACjBhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAF3CjG,EAAM,GAIF0F,EAAMQ,OACVlG,EAAM0F,EAAMQ,KAAOlG,IAGP,KAAT2F,IACCD,EAAMS,YACVnG,EAAM,KAAOA,GAEdA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,EAAUlF,KAAMH,IAEJ,IAAT2F,GACCD,EAAMS,WAAiC,MAApBnG,EAAIoG,OAAQ,KACnCpG,EAAM,IAAMA,GAGPA,EC1ER,SAASuE,GAAUtE,GAClB,MAA0B,iBAAVA,ECVjB,IAAIoG,GAAMtE,KAAKsE,IACXhB,GAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAC7Bc,GAAU9B,OAAOlF,UAAUgH,QAK3BC,GAAoB,WACpBC,GAAoB,UACpBC,GAAiB,UACjBC,GAAuB,UACvBC,GAA0B,OAC1BC,GAAqB,QACrBC,GAAqB,gBAazB,SAASC,GAAcpB,GACtB,IAAIqB,EACA/G,EACAgH,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMtD,EAAUgC,EAAMG,KACrB,MAAM,IAAIzE,MAAO,yCAA2CpB,GAG7DgH,EAAItB,EAAMG,IAEX,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJ5F,EAAMgH,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJhG,EAAMgH,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,GAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEX/G,EAAMgH,EAAEE,cAAeH,IAEvB/G,EAAMgH,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACXnG,EAAMsG,GAAQnG,KAAMH,EAAK6G,GAAoB,OAC7C7G,EAAMsG,GAAQnG,KAAMH,EAAK4G,GAAoB,KAC7C5G,EAAMsG,GAAQnG,KAAMH,EAAK2G,GAAyB,KAEnD,MACD,QACC,MAAM,IAAIvF,MAAO,mCAAqCsE,EAAME,WAc7D,OAZA5F,EAAMsG,GAAQnG,KAAMH,EAAKuG,GAAmB,SAC5CvG,EAAMsG,GAAQnG,KAAMH,EAAKwG,GAAmB,SACvCd,EAAMS,YACVnG,EAAMsG,GAAQnG,KAAMH,EAAKyG,GAAgB,OACzCzG,EAAMsG,GAAQnG,KAAMH,EAAK0G,GAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpBlG,EAAM0F,EAAMQ,KAAOlG,GAEpBA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,GAAUlF,KAAMH,GC1ElB,SAASqH,GAAQ3C,GAChB,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,EAeR,SAASsH,GAAUzC,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAMwC,GAAQpC,GACdoC,GAAQpC,GAAQJ,EC1BlB,IAAI0C,GAAe/C,OAAO+C,aACtBC,GAAQC,MACRC,GAAUC,MAAMD,QAYpB,SAASE,GAAYlC,GACpB,IAAI1F,EAAM,GAMV,OALAA,EAAI4F,UAAYF,EAAME,UACtB5F,EAAIgG,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DhG,EAAI8E,MAAQY,EAAMZ,MAClB9E,EAAI6H,MAAQnC,EAAMmC,OAAS,GAC3B7H,EAAI8H,QAAUpC,EAAMoC,QACb9H,EAoBR,SAAS+H,GAAmBC,GAC3B,IAAIC,EACAJ,EACAnC,EACAwC,EACAC,EACAnI,EACAoI,EACAzD,EACA0D,EAEJ,IAAMX,GAASM,GACd,MAAM,IAAI9E,UAAW,8DAAgE8E,EAAS,MAI/F,IAFAhI,EAAM,GACNoI,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GAAKJ,GADLmB,EAAQsC,EAAQrD,IAEf3E,GAAO0F,MACD,CAGN,GAFAuC,OAAgC,IAApBvC,EAAMM,YAClBN,EAAQkC,GAAYlC,IACRE,UACX,MAAM,IAAI1C,UAAW,oEAAqEyB,EAAG,cAAgBe,EAAQ,MAMtH,IAJKA,EAAMoC,UACVM,EAAM1C,EAAMoC,SAEbD,EAAQnC,EAAMmC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMzB,OAAQiC,IAErB,IAAK,IACJ3C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWT,EAAMU,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI/E,MAAO,iBAAmB8G,GAGtC,GAAqB,MAAhBxC,EAAMZ,MAAgB,CAG1B,GAFAY,EAAMZ,MAAQgB,SAAU0C,UAAWJ,GAAO,IAC1CA,GAAO,EACFZ,GAAO9B,EAAMZ,OACjB,MAAM,IAAI5B,UAAW,wCAA0CkF,EAAM,6BAA+B1C,EAAMZ,MAAQ,MAE9GY,EAAMZ,MAAQ,IAClBY,EAAMO,UAAW,EACjBP,EAAMZ,OAASY,EAAMZ,OAGvB,GAAKmD,GACqB,MAApBvC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWJ,GAAO,IAC9CA,GAAO,EACFZ,GAAO9B,EAAMM,WACjB,MAAM,IAAI9C,UAAW,4CAA8CkF,EAAM,6BAA+B1C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBiC,GAAY,GAKf,OADAvC,EAAMG,IAAM2C,UAAWJ,GACd1C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECqC,IACJvC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,GAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMwB,GAAO9B,EAAMG,KAAQ,CAE1B,IADAsC,EAAMrC,SAAUJ,EAAMG,IAAK,KAChB,GAAKsC,EAAM,IACrB,MAAM,IAAI/G,MAAO,kCAAoCsE,EAAMG,KAE5DH,EAAMG,IAAQ2B,GAAOW,GACpB3D,OAAQkB,EAAMG,KACd0B,GAAcY,GAEhB,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLvC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,GAAcpB,GAC1B,MACD,QACC,MAAM,IAAItE,MAAO,sBAAwBsE,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIX,OAASQ,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMjB,EAASc,EAAMG,IAAKH,EAAMZ,OAASY,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMZ,QACjBY,EAAMG,IAAMyB,GAAU5B,EAAMG,IAAKH,EAAMZ,MAAOY,EAAMO,WAErDjG,GAAO0F,EAAMG,KAAO,GACpBuC,GAAO,EAGT,OAAOpI,EC1LR,IAAI2I,GAAK,6EAYT,SAASC,GAAOC,GACf,IAAInD,EAAQ,CACXoC,QAAae,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDhB,MAASgB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,EAgBR,SAASoD,GAAgBjE,GACxB,IAAIkE,EACAf,EACAa,EACAG,EAKJ,IAHAhB,EAAS,GACTgB,EAAO,EACPH,EAAQF,GAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,GAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ8C,EAAOoB,KAAML,GAEdf,EAAOoB,KAAMR,GAAOC,IACpBG,EAAOL,GAAGQ,UACVN,EAAQF,GAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ8C,EAAOoB,KAAML,GAEPf,ECjDR,SAASzD,GAAUtE,GAClB,MAA0B,iBAAVA,ECWjB,SAASoJ,GAAQxE,GAChB,IAAImD,EACAsB,EACA3E,EAEJ,IAAMJ,GAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAKjG,IAHAmD,EAASuB,GAAU1E,IACnByE,EAAO,IAAI3B,MAAOa,UAAUtD,SACtB,GAAM8C,EACNrD,EAAI,EAAGA,EAAI2E,EAAKpE,OAAQP,IAC7B2E,EAAM3E,GAAM6D,UAAW7D,GAExB,OAAO6E,GAAYC,MAAO,KAAMH,GC+BjC,SAASI,GAAQ7E,EAAKH,GACrB,IAAIiF,EACAC,EACJ,IAAMrF,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBI,GAC3B,MAAM,IAAIxB,UAAWmG,GAAQ,gFAAiF3E,IAE/G,GAAoB,IAAfG,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAGR,GAAKG,EAAIK,OAASR,ECrDY,iBDsD7B,MAAM,IAAImF,WAAYR,GAAQ,6FAA8FxE,EAAIK,OAASR,IAI1I,IAFAiF,EAAM,GACNC,EAAMlF,EAGY,IAAP,EAAJkF,KACLD,GAAO9E,GAIK,KADb+E,KAAS,IAKT/E,GAAOA,EAER,OAAO8E,EE9ER,IAAIG,GAAO/H,KAAK+H,KCMhB,SAASC,GAAM5F,GAKd,IAJA,IACI6F,EADAnF,EAAM,GAIFV,EAAI,GAIVU,GAHDmF,EAAI7F,EAAI,MACRA,EAAIrC,EAAOkI,IAEJ,IAAMnF,EAEN,IAAMA,EAGd,OAAOA,EC+BR,SAASoF,GAAiB9F,GACzB,IAAI+F,EACAhE,EACArB,EACAsF,EACAzF,EACAsC,EACArC,EASJ,GALCuB,EADI/B,EAAI,GAAO,EAAIA,IAAMtC,EAClB,IAEA,IAGHsC,IAAMlD,GAAQkD,IAAMtC,EAIxB,OAAOqE,GAFPiE,EAAMT,GAAQ,IA3EQ,KA4EtB7E,EAAM6E,GAAQ,IA7EW,KAiF1B,GAAKvF,GAAMA,EAIV,OAAO+B,GAFPiE,EAAMT,GAAQ,IAlFQ,KAmFtB7E,EAAM,IAAM6E,GAAQ,IAAKU,KAI1B,GAAW,IAANjG,EAIJ,OAAO+B,GAFPiE,EAAMT,GAAQ,IAzFQ,KA0FtB7E,EAAM6E,GAAQ,IA3FW,KA2G1B,GAPA1C,GANA7C,ECnFD,SAAcA,GACb,OAAOpC,KAAKsE,IAAKlC,GDkFbkC,CAAKlC,KAGTO,EAAI5C,EAAOqC,IAMXO,EAAIqF,GAAMrF,GACVsC,EElGD,SAAgB7C,GACf,IAAIU,EACAmF,EACArF,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAANV,EACJ,OAAOU,EAKR,IAHAwD,EA/Bc,IAkCR1D,EAAI,EAAGA,EAlCC,OAmCbqF,EAAQ,EAAJ7F,IACM,GACTA,EAAI6F,EAAI,EACRnF,GAAO,IAtCK,MAuCPwD,IACJA,EAAI1D,KAGLR,EAAI6F,EACJnF,GAAO,OAGG,IAANmF,GAAarF,EAAE0D,EA9CP,KAiCa1D,KAkB3B,OAAOE,EFmEHwF,CAAOrD,GAGNtC,EAEJyF,EAAMzF,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIqC,EAAE9B,OAAQP,IAC1B,GAAgB,MAAXqC,EAAGrC,GAAc,CACrBuF,EAAQvF,EAAI,EACZ,MAIFwF,GAAOD,EAwBR,OArBArF,EAAMH,EAAIsC,EACLmD,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTzF,EAAMA,EAAI6D,UAAWwB,IAGrBrF,EAAMA,EAAI6D,UAAW,GAItByB,EItHD,SAAetF,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,sEAGvBW,EAAI,IAEL,GAAKD,EPzByB,iBO0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGD6E,GAAQc,EADf9F,EAAIoF,GAAMpF,IACcG,EJ0FlB4F,CADNN,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpCtF,EKzHD,SAAeA,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,kEAGvBW,EAAI,IAEL,GAAKD,ERzByB,iBQ0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGDA,EAAM6E,GAAQc,EADrB9F,EAAIoF,GAAMpF,IL8FJgG,CAAM7F,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IA+InBxC,EAAOiE,EAAMtF"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index 564cb08..0000000 --- a/stats.html +++ /dev/null @@ -1,2689 +0,0 @@ - - - - - - - - RollUp Visualizer - - - -
- - - - - From 3e0e1dbf4d690632d9f8acc677e031069e46c009 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 1 Sep 2022 12:20:55 +0000 Subject: [PATCH 019/146] Auto-generated commit --- .editorconfig | 181 -- .eslintrc.js | 1 - .gitattributes | 49 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 62 - .github/workflows/cancel.yml | 56 - .github/workflows/close_pull_requests.yml | 44 - .github/workflows/examples.yml | 62 - .github/workflows/npm_downloads.yml | 108 - .github/workflows/productionize.yml | 760 ------ .github/workflows/publish.yml | 117 - .github/workflows/test.yml | 92 - .github/workflows/test_bundles.yml | 180 -- .github/workflows/test_coverage.yml | 123 - .github/workflows/test_install.yml | 83 - .gitignore | 178 -- .npmignore | 227 -- .npmrc | 28 - CHANGELOG.md | 5 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 ---- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 -- lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 2689 +++++++++++++++++++++ test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 -- 45 files changed, 2708 insertions(+), 3945 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0fd4d6c..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index d5d379b..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2022-09-01T01:22:08.519Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 29bf533..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index a7a7f51..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,56 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - uses: styfle/cancel-workflow-action@0.9.0 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index 576054a..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,44 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 39b1613..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout the repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 7ca169c..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,108 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '0 8 * * 6' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "::set-output name=package_name::$name" - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "::set-output name=data::$data" - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - uses: actions/upload-artifact@v2 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - uses: distributhor/workflow-webhook@v2 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 5094681..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,760 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - uses: actions/checkout@v3 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Format error messages: - - name: 'Replace double quotes with single quotes in rewritten format string error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\( \"([a-zA-Z0-9]+)\"/Error\( format\( '\1'/g" {} \; - - # Format string literal error messages: - - name: 'Replace double quotes with single quotes in rewritten string literal error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\(\"([a-zA-Z0-9]+)\"\)/Error\( format\( '\1' \)/g" {} \; - - # Format code: - - name: 'Replace double quotes with single quotes in inserted `require` calls' - run: | - find . -name "*.js" -exec sed -E -i "s/require\( ?\"@stdlib\/error-tools-fmtprodmsg\" ?\);/require\( '@stdlib\/error-tools-fmtprodmsg' \);/g" {} \; - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\"/\"@stdlib\/error-tools-fmtprodmsg\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^0.0.x'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "::set-output name=remote-exists::true" - else - echo "::set-output name=remote-exists::false" - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - uses: act10ns/slack@v1 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "::set-output name=remote-exists::true" - else - echo "::set-output name=remote-exists::false" - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "::set-output name=alias::${alias}" - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From a7a61ed1a6da41a584f03dfc6114926abd3ec012 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Tue, 27 Sep 2022 20:09:32 +0000 Subject: [PATCH 020/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b89a991..36dde03 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.0.x", "@stdlib/string-left-pad": "^0.0.x", "@stdlib/string-repeat": "^0.0.x", - "@stdlib/string-right-pad": "^0.0.x" + "@stdlib/string-right-pad": "^0.0.x", + "@stdlib/error-tools-fmtprodmsg": "^0.0.x" }, "devDependencies": { "@stdlib/assert-is-string": "^0.0.x", @@ -98,4 +99,4 @@ "type": "patreon", "url": "https://www.patreon.com/athan" } -} +} \ No newline at end of file From 6cd5c89060c8feb4fc2e4c364b04b4b158ced6e2 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Tue, 27 Sep 2022 21:54:27 +0000 Subject: [PATCH 021/146] Remove files --- mod.d.ts | 78 -- mod.js | 4 - mod.js.map | 1 - stats.html | 2689 ---------------------------------------------------- 4 files changed, 2772 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 1881a26..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 2.0 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 09537e2..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2022 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol.toStringTag:"";i=e()?function(r){var e,i,o,u,c;if(null==r)return t.call(r);i=r[a],c=a,e=null!=(u=r)&&n.call(u,c);try{r[a]=void 0}catch(e){return t.call(r)}return o=t.call(r),e?r[a]=i:delete r[a],o}:function(r){return t.call(r)};var o=i,u="function"==typeof Float32Array;var c=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var s="function"==typeof Float32Array?Float32Array:void 0;var f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(u&&t instanceof Float32Array||"[object Float32Array]"===o(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===c}catch(e){r=!1}return r}()?s:function(){throw new Error("not implemented")},g="function"==typeof Uint32Array;var p="function"==typeof Uint32Array?Uint32Array:null;var h="function"==typeof Uint32Array?Uint32Array:void 0;var d=function(){var r,e,t;if("function"!=typeof p)return!1;try{e=new p(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(g&&t instanceof Uint32Array||"[object Uint32Array]"===o(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?h:function(){throw new Error("not implemented")},v=new f(1);new d(v.buffer)[0]=2139095040;var m=v[0],w=new f(1);new d(w.buffer)[0]=4286578688;var y=w[0];var b=Math.floor,E="function"==typeof Object.defineProperty?Object.defineProperty:null;var _=Object.defineProperty,S=Object.prototype,T=S.toString,x=S.__defineGetter__,V=S.__defineSetter__,A=S.__lookupGetter__,j=S.__lookupSetter__;var F=function(){try{return E({},"x",{}),!0}catch(r){return!1}}()?_:function(r,e,t){var n,i,a,o;if("object"!=typeof r||null===r||"[object Array]"===T.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof t||null===t||"[object Array]"===T.call(t))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+t+"`.");if((i="value"in t)&&(A.call(r,e)||j.call(r,e)?(n=r.__proto__,r.__proto__=S,delete r[e],r[e]=t.value,r.__proto__=n):r[e]=t.value),a="get"in t,o="set"in t,i&&(a||o))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return a&&x&&x.call(r,e,t.get),o&&V&&V.call(r,e,t.set),r};function k(r,e,t){F(r,e,{configurable:!1,enumerable:!1,writable:!1,value:t})}function O(r){return"number"==typeof r}var I=Number,P=I.prototype.toString;var R=e();function N(r){return"object"==typeof r&&(r instanceof I||(R?function(r){try{return P.call(r),!0}catch(r){return!1}}(r):"[object Number]"===o(r)))}function $(r){return O(r)||N(r)}k($,"isPrimitive",O),k($,"isObject",N);var U=I.NEGATIVE_INFINITY;function C(r){return rU&&b(e=r)===e;var e}function G(r){return O(r)&&C(r)}function Z(r){return N(r)&&C(r.valueOf())}function M(r){return G(r)||Z(r)}function W(r){return G(r)&&r>=0}function L(r){return Z(r)&&r.valueOf()>=0}function X(r){return W(r)||L(r)}function Y(r){return"string"==typeof r}k(M,"isPrimitive",G),k(M,"isObject",Z),k(X,"isPrimitive",W),k(X,"isObject",L);var z=String.prototype.valueOf;var q=e();function B(r){return"object"==typeof r&&(r instanceof String||(q?function(r){try{return z.call(r),!0}catch(r){return!1}}(r):"[object String]"===o(r)))}function D(r){return Y(r)||B(r)}k(D,"isPrimitive",Y),k(D,"isObject",B);function H(r){return"number"==typeof r}function J(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=or.call(t,pr,"$1e"),t=or.call(t,gr,"e"),t=or.call(t,fr,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=or.call(t,ur,"e+0$1"),t=or.call(t,cr,"e-0$1"),r.alternate&&(t=or.call(t,lr,"$1."),t=or.call(t,sr,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===ar.call(r.specifier)?ar.call(t):ir.call(t)}function dr(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=wr(a)?String(n.arg):mr(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=hr(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=K(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=vr(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var _r=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Sr(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function Tr(r){var e,t,n,i;for(t=[],i=0,n=_r.exec(r);n;)(e=r.slice(i,_r.lastIndex-n[0].length)).length&&t.push(e),t.push(Sr(n)),i=_r.lastIndex,n=_r.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function xr(r){return"string"==typeof r}function Vr(r){var e,t,n;if(!xr(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=Tr(r),(t=new Array(arguments.length))[0]=e,n=1;n9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",r.length*e));for(t="",n=e;1==(1&n)&&(t+=r),0!==(n>>>=1);)r+=r;return t}var jr=Math.ceil;function Fr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=b(e))?"0"+t:"1"+t;return t}function kr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===y?"1":"0",r===m||r===y)return t+(i=Ar("1",8))+(n=Ar("0",23));if(r!=r)return t+(i=Ar("1",8))+(n="1"+Ar("0",22));if(0===r)return t+(i=Ar("0",8))+(n=Ar("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=b(r)),a=Fr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:Ar(i,n=jr(n))+r}(i=Fr(i+127),8,"0"),n=function(r,e,t){var n,i;if(!Y(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!W(e))throw new TypeError(Vr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:r+Ar(i,n=jr(n))}(n,23,"0").substring(0,23),t+i+n}export{kr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 227a49b..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/native_class.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/number.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/is_integer.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/string-repeat/lib/repeat.js","../node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/math-base-special-ceil/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/left_pad.js","../node_modules/@stdlib/string-right-pad/lib/right_pad.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support' ;\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class' ;\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport builtin from './native_class.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property' ;\nimport toStringTag from './tostringtag.js' ;\nimport toStr from './tostring.js' ;\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js' ;\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class' ;\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf' ;\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32' ;\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support' ;\nimport builtin from './float32array.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array' ;\nimport PINF from '@stdlib/constants-float64-pinf' ;\nimport GlobalFloat32Array from './float32array.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class' ;\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max' ;\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32' ;\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support' ;\nimport builtin from './uint32array.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array' ;\nimport UINT32_MAX from '@stdlib/constants-uint32-max' ;\nimport GlobalUint32Array from './uint32array.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf' ;\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32' ;\nimport Uint32Array from '@stdlib/array-uint32' ;\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf' ;\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32' ;\nimport Uint32Array from '@stdlib/array-uint32' ;\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property' ;\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js' ;\nimport builtin from './builtin.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property' ;\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor' ;\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport nativeClass from '@stdlib/utils-native-class' ;\nimport Number from '@stdlib/number-ctor' ;\nimport test from './try2serialize.js' ;\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js' ; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isNumber from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf' ;\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor' ;\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf' ;\nimport NINF from '@stdlib/constants-float64-ninf' ;\nimport isInt from '@stdlib/math-base-assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor' ;\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number' ;\nimport isInt from './integer.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number' ;\nimport isInt from './integer.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isInteger from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isNonNegativeInteger from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport nativeClass from '@stdlib/utils-native-class' ;\nimport test from './try2valueof.js' ;\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js' ; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isString from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js' ;\nimport zeroPad from './zero_pad.js' ;\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js' ;\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js' ;\nimport isString from './is_string.js' ;\nimport formatDouble from './format_double.js' ;\nimport spacePad from './space_pad.js' ;\nimport zeroPad from './zero_pad.js' ;\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate' ;\nimport tokenize from '@stdlib/string-base-format-tokenize' ;\nimport isString from './is_string.js' ;\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\nimport format from '@stdlib/string-format' ;\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', str.length * n ) );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor' ;\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf' ;\nimport NINF from '@stdlib/constants-float32-ninf' ;\nimport BIAS from '@stdlib/constants-float32-exponent-bias' ;\nimport abs from '@stdlib/math-base-special-abs' ;\nimport floor from '@stdlib/math-base-special-floor' ;\nimport rpad from '@stdlib/string-right-pad' ;\nimport lpad from '@stdlib/string-left-pad' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport div2 from './div2.js' ;\nimport mult2 from './mult2.js' ;\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf' ;\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf' ;\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias' ;\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport ceil from '@stdlib/math-base-special-ceil' ;\nimport format from '@stdlib/string-format' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport ceil from '@stdlib/math-base-special-ceil' ;\nimport format from '@stdlib/string-format' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","nativeClass","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass$1","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","main","ctor","Float32Array$1","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","hasUint32Array","Uint32Array","Uint32Array$1","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","isNumber","Number$1","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","String","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","repeat","rpt","cnt","RangeError","ceil","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","len","p","lpad","rpad"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,YEpB/B,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA+B,mBAAXV,OAA0BA,OAAOE,YAAc,GC8BtEO,EADIE,ICDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EHHgBC,EAAOC,EGK3B,GAAKL,QACJ,OAAOT,EAAMe,KAAMN,GAEpBE,EAAMF,EAAGV,GHRkBe,EGSJf,EAAvBW,EHPCG,OAFmBA,EGSAJ,IHFbL,EAAIW,KAAMF,EAAOC,GGKxB,IACCL,EAAGV,QAAgB,EAClB,MAAQiB,GACT,OAAOhB,EAAMe,KAAMN,GASpB,OAPAG,EAAMZ,EAAMe,KAAMN,GAEbC,EACJD,EAAGV,GAAgBY,SAEZF,EAAGV,GAEJa,GC1BR,SAAsBH,GACrB,OAAOT,EAAMe,KAAMN,IFWpB,IAAAQ,EAAeX,EGjCXY,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBC,EAAiC,mBAAjBJ,aAAgCA,aAAe,KCAnE,IAAIK,EAAiC,mBAAjBL,aAAgCA,kBAAe,EC6BnE,IAAAM,ECbA,WACC,IAAIC,EACAC,ELMoBd,EKJxB,GAAmC,mBAAvBe,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bf,EKGNc,EADjBD,GLAER,GAAmBL,aAAiBM,cACb,0BAAzBb,EAAaO,KKCC,IAAbc,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,EAEb,MAAQb,GACTU,GAAO,EAER,OAAOA,EDhBHI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,oBCHdC,EAA0C,mBAAhBC,YC4B9B,ICjCIX,EAAgC,mBAAhBW,YAA+BA,YAAc,KCAjE,IAAIV,EAAgC,mBAAhBU,YAA+BA,iBAAc,EC6BjE,IAAAC,ECbA,WACC,IAAIT,EACAC,ELMmBd,EKJvB,GAAkC,mBAAtBuB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBxB,EKINc,EADhBD,GLDEO,GAAkBpB,aAAiBqB,aACZ,yBAAzB5B,EAAaO,KKEC,IAAbc,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,GAEL,MAAQX,GACTU,GAAO,EAER,OAAOA,EDlBHY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,oBCSdO,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAX,EALIU,EAAc,GC9BdA,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbnB,EAA0C,mBAA1BtB,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eC/BxBC,EAAiB5C,OAAOC,UACxBF,EAAQ6C,EAAe1C,SACvB2C,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBC4BlC,IAAAC,ECpBA,WAEC,IAEC,OADAV,EAAgB,GAAI,IAAK,KAClB,EACN,MAAQ5B,GACT,OAAO,GDKJuC,GACaxB,EDgBlB,SAAyByB,EAAKC,EAAMC,GACnC,IAAIxD,EACAyD,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBxD,EAAMe,KAAMyC,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B1D,EAAMe,KAAM2C,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBR,EAAanC,KAAMyC,EAAKC,IACxBL,EAAarC,KAAMyC,EAAKC,IAGxBvD,EAAYsD,EAAIO,UAChBP,EAAIO,UAAYlB,SAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW7C,MAGzB2C,EAAIO,UAAY7D,GAEhBsD,EAAKC,GAASC,EAAW7C,OAG3B+C,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAI7B,MAAO,wHASlB,OANK4B,GAAUd,GACdA,EAAa/B,KAAMyC,EAAKC,EAAMC,EAAWM,KAErCH,GAAUb,GACdA,EAAajC,KAAMyC,EAAKC,EAAMC,EAAWO,KAEnCT,GGjER,SAASU,EAA0BV,EAAKC,EAAM5C,GAC7C+B,EAAgBY,EAAKC,EAAM,CAC1BU,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxD,MAASA,ICZX,SAASyD,EAAUzD,GAClB,MAA0B,iBAAVA,ECjBjB,IAAA0D,EAAelD,OCMXlB,EAAWkB,EAAOnB,UAAUC,SCEhC,IAAIP,EAAMY,IAmBV,SAAS8D,EAAUzD,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,IAGjBzB,ECpBP,SAAeiB,GACd,IAEC,OADAV,EAASY,KAAMF,IACR,EACN,MAAQG,GACT,OAAO,GDgBCwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,KEPxB,SAASyD,EAAUzD,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCqB5C8D,EAAAL,EAAA,cAAAG,GACAE,EAAAL,EAAA,WAAAI,GCnBA,IAAIE,EAAevD,EAAOwD,kBClB1B,SAASC,EAAWjE,GACnB,OACCA,EAAQgB,GACRhB,EAAQ4B,GCGDC,EADWqC,EDDXlE,KCEakE,EADtB,IAAoBA,ECCpB,SAASD,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,GCHT,SAASiE,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAAMoE,WCKf,SAASH,EAAWjE,GACnB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCV5C,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,GAAS,ECHX,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,EAAMoE,WAAa,ECUrB,SAASC,EAAsBrE,GAC9B,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCrB5C,SAASsE,EAAUtE,GAClB,MAA0B,iBAAVA,ECoCjB8D,EAAAG,EAAA,cAAAL,GACAE,EAAAG,EAAA,WAAAJ,GCAAC,EAAAO,EAAA,cAAAT,GACAE,EAAAO,EAAA,WAAAR,GCpDA,IAAIO,EAAUG,OAAOlF,UAAU+E,QCQ/B,IAAIrF,EAAMY,IAmBV,SAAS2E,EAAUtE,GAClB,MAAsB,iBAAVA,IACNA,aAAiBuE,SAGjBxF,ECnBP,SAAeiB,GACd,IAEC,OADAoE,EAAQlE,KAAMF,IACP,EACN,MAAQG,GACT,OAAO,GDeCwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,KEdxB,SAASsE,EAAUtE,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCuB5C8D,EAAAQ,EAAA,cAAAV,GACAE,EAAAQ,EAAA,WAAAT,GC7BA,SAASJ,EAAUzD,GAClB,MAA0B,iBAAVA,ECCjB,SAASwE,EAAOC,GACf,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,EAeR,SAAS4E,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,GAqCPM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,ECvCT,IAAIQ,EAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAajC,SAASC,GAAeC,GACvB,IAAIC,EACA3F,EACA2E,EAEJ,OAASe,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFA3F,EAAM0F,EAAMG,IACZlB,EAAImB,SAAU9F,EAAK,KACb+F,SAAUpB,GAAM,CACrB,IAAMjB,EAAU1D,GACf,MAAM,IAAIoB,MAAO,2BAA6BpB,GAE/C2E,EAAI,EAmCL,OAjCKA,EAAI,IAA2B,MAApBe,EAAME,WAA8B,KAATD,KAC1ChB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACR3E,IAAS2E,GAAIpF,SAAUoG,GAClBD,EAAMM,YACVhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAE5CjG,EAAM,IAAMA,IAEZA,EAAM2E,EAAEpF,SAAUoG,GACZhB,GAAMe,EAAMM,UAENN,EAAMM,YACjBhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAF3CjG,EAAM,GAIF0F,EAAMQ,OACVlG,EAAM0F,EAAMQ,KAAOlG,IAGP,KAAT2F,IACCD,EAAMS,YACVnG,EAAM,KAAOA,GAEdA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,EAAUlF,KAAMH,IAEJ,IAAT2F,GACCD,EAAMS,WAAiC,MAApBnG,EAAIoG,OAAQ,KACnCpG,EAAM,IAAMA,GAGPA,EC1ER,SAASuE,GAAUtE,GAClB,MAA0B,iBAAVA,ECVjB,IAAIoG,GAAMtE,KAAKsE,IACXhB,GAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAC7Bc,GAAU9B,OAAOlF,UAAUgH,QAK3BC,GAAoB,WACpBC,GAAoB,UACpBC,GAAiB,UACjBC,GAAuB,UACvBC,GAA0B,OAC1BC,GAAqB,QACrBC,GAAqB,gBAazB,SAASC,GAAcpB,GACtB,IAAIqB,EACA/G,EACAgH,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMtD,EAAUgC,EAAMG,KACrB,MAAM,IAAIzE,MAAO,yCAA2CpB,GAG7DgH,EAAItB,EAAMG,IAEX,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJ5F,EAAMgH,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJhG,EAAMgH,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,GAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEX/G,EAAMgH,EAAEE,cAAeH,IAEvB/G,EAAMgH,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACXnG,EAAMsG,GAAQnG,KAAMH,EAAK6G,GAAoB,OAC7C7G,EAAMsG,GAAQnG,KAAMH,EAAK4G,GAAoB,KAC7C5G,EAAMsG,GAAQnG,KAAMH,EAAK2G,GAAyB,KAEnD,MACD,QACC,MAAM,IAAIvF,MAAO,mCAAqCsE,EAAME,WAc7D,OAZA5F,EAAMsG,GAAQnG,KAAMH,EAAKuG,GAAmB,SAC5CvG,EAAMsG,GAAQnG,KAAMH,EAAKwG,GAAmB,SACvCd,EAAMS,YACVnG,EAAMsG,GAAQnG,KAAMH,EAAKyG,GAAgB,OACzCzG,EAAMsG,GAAQnG,KAAMH,EAAK0G,GAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpBlG,EAAM0F,EAAMQ,KAAOlG,GAEpBA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,GAAUlF,KAAMH,GC1ElB,SAASqH,GAAQ3C,GAChB,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,EAeR,SAASsH,GAAUzC,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAMwC,GAAQpC,GACdoC,GAAQpC,GAAQJ,EC1BlB,IAAI0C,GAAe/C,OAAO+C,aACtBC,GAAQC,MACRC,GAAUC,MAAMD,QAYpB,SAASE,GAAYlC,GACpB,IAAI1F,EAAM,GAMV,OALAA,EAAI4F,UAAYF,EAAME,UACtB5F,EAAIgG,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DhG,EAAI8E,MAAQY,EAAMZ,MAClB9E,EAAI6H,MAAQnC,EAAMmC,OAAS,GAC3B7H,EAAI8H,QAAUpC,EAAMoC,QACb9H,EAoBR,SAAS+H,GAAmBC,GAC3B,IAAIC,EACAJ,EACAnC,EACAwC,EACAC,EACAnI,EACAoI,EACAzD,EACA0D,EAEJ,IAAMX,GAASM,GACd,MAAM,IAAI9E,UAAW,8DAAgE8E,EAAS,MAI/F,IAFAhI,EAAM,GACNoI,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GAAKJ,GADLmB,EAAQsC,EAAQrD,IAEf3E,GAAO0F,MACD,CAGN,GAFAuC,OAAgC,IAApBvC,EAAMM,YAClBN,EAAQkC,GAAYlC,IACRE,UACX,MAAM,IAAI1C,UAAW,oEAAqEyB,EAAG,cAAgBe,EAAQ,MAMtH,IAJKA,EAAMoC,UACVM,EAAM1C,EAAMoC,SAEbD,EAAQnC,EAAMmC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMzB,OAAQiC,IAErB,IAAK,IACJ3C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWT,EAAMU,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI/E,MAAO,iBAAmB8G,GAGtC,GAAqB,MAAhBxC,EAAMZ,MAAgB,CAG1B,GAFAY,EAAMZ,MAAQgB,SAAU0C,UAAWJ,GAAO,IAC1CA,GAAO,EACFZ,GAAO9B,EAAMZ,OACjB,MAAM,IAAI5B,UAAW,wCAA0CkF,EAAM,6BAA+B1C,EAAMZ,MAAQ,MAE9GY,EAAMZ,MAAQ,IAClBY,EAAMO,UAAW,EACjBP,EAAMZ,OAASY,EAAMZ,OAGvB,GAAKmD,GACqB,MAApBvC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWJ,GAAO,IAC9CA,GAAO,EACFZ,GAAO9B,EAAMM,WACjB,MAAM,IAAI9C,UAAW,4CAA8CkF,EAAM,6BAA+B1C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBiC,GAAY,GAKf,OADAvC,EAAMG,IAAM2C,UAAWJ,GACd1C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECqC,IACJvC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,GAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMwB,GAAO9B,EAAMG,KAAQ,CAE1B,IADAsC,EAAMrC,SAAUJ,EAAMG,IAAK,KAChB,GAAKsC,EAAM,IACrB,MAAM,IAAI/G,MAAO,kCAAoCsE,EAAMG,KAE5DH,EAAMG,IAAQ2B,GAAOW,GACpB3D,OAAQkB,EAAMG,KACd0B,GAAcY,GAEhB,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLvC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,GAAcpB,GAC1B,MACD,QACC,MAAM,IAAItE,MAAO,sBAAwBsE,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIX,OAASQ,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMjB,EAASc,EAAMG,IAAKH,EAAMZ,OAASY,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMZ,QACjBY,EAAMG,IAAMyB,GAAU5B,EAAMG,IAAKH,EAAMZ,MAAOY,EAAMO,WAErDjG,GAAO0F,EAAMG,KAAO,GACpBuC,GAAO,EAGT,OAAOpI,EC1LR,IAAI2I,GAAK,6EAYT,SAASC,GAAOC,GACf,IAAInD,EAAQ,CACXoC,QAAae,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDhB,MAASgB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,EAgBR,SAASoD,GAAgBjE,GACxB,IAAIkE,EACAf,EACAa,EACAG,EAKJ,IAHAhB,EAAS,GACTgB,EAAO,EACPH,EAAQF,GAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,GAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ8C,EAAOoB,KAAML,GAEdf,EAAOoB,KAAMR,GAAOC,IACpBG,EAAOL,GAAGQ,UACVN,EAAQF,GAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ8C,EAAOoB,KAAML,GAEPf,ECjDR,SAASzD,GAAUtE,GAClB,MAA0B,iBAAVA,ECWjB,SAASoJ,GAAQxE,GAChB,IAAImD,EACAsB,EACA3E,EAEJ,IAAMJ,GAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAKjG,IAHAmD,EAASuB,GAAU1E,IACnByE,EAAO,IAAI3B,MAAOa,UAAUtD,SACtB,GAAM8C,EACNrD,EAAI,EAAGA,EAAI2E,EAAKpE,OAAQP,IAC7B2E,EAAM3E,GAAM6D,UAAW7D,GAExB,OAAO6E,GAAYC,MAAO,KAAMH,GC+BjC,SAASI,GAAQ7E,EAAKH,GACrB,IAAIiF,EACAC,EACJ,IAAMrF,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBI,GAC3B,MAAM,IAAIxB,UAAWmG,GAAQ,gFAAiF3E,IAE/G,GAAoB,IAAfG,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAGR,GAAKG,EAAIK,OAASR,ECrDY,iBDsD7B,MAAM,IAAImF,WAAYR,GAAQ,6FAA8FxE,EAAIK,OAASR,IAI1I,IAFAiF,EAAM,GACNC,EAAMlF,EAGY,IAAP,EAAJkF,KACLD,GAAO9E,GAIK,KADb+E,KAAS,IAKT/E,GAAOA,EAER,OAAO8E,EE9ER,IAAIG,GAAO/H,KAAK+H,KCMhB,SAASC,GAAM5F,GAKd,IAJA,IACI6F,EADAnF,EAAM,GAIFV,EAAI,GAIVU,GAHDmF,EAAI7F,EAAI,MACRA,EAAIrC,EAAOkI,IAEJ,IAAMnF,EAEN,IAAMA,EAGd,OAAOA,EC+BR,SAASoF,GAAiB9F,GACzB,IAAI+F,EACAhE,EACArB,EACAsF,EACAzF,EACAsC,EACArC,EASJ,GALCuB,EADI/B,EAAI,GAAO,EAAIA,IAAMtC,EAClB,IAEA,IAGHsC,IAAMlD,GAAQkD,IAAMtC,EAIxB,OAAOqE,GAFPiE,EAAMT,GAAQ,IA3EQ,KA4EtB7E,EAAM6E,GAAQ,IA7EW,KAiF1B,GAAKvF,GAAMA,EAIV,OAAO+B,GAFPiE,EAAMT,GAAQ,IAlFQ,KAmFtB7E,EAAM,IAAM6E,GAAQ,IAAKU,KAI1B,GAAW,IAANjG,EAIJ,OAAO+B,GAFPiE,EAAMT,GAAQ,IAzFQ,KA0FtB7E,EAAM6E,GAAQ,IA3FW,KA2G1B,GAPA1C,GANA7C,ECnFD,SAAcA,GACb,OAAOpC,KAAKsE,IAAKlC,GDkFbkC,CAAKlC,KAGTO,EAAI5C,EAAOqC,IAMXO,EAAIqF,GAAMrF,GACVsC,EElGD,SAAgB7C,GACf,IAAIU,EACAmF,EACArF,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAANV,EACJ,OAAOU,EAKR,IAHAwD,EA/Bc,IAkCR1D,EAAI,EAAGA,EAlCC,OAmCbqF,EAAQ,EAAJ7F,IACM,GACTA,EAAI6F,EAAI,EACRnF,GAAO,IAtCK,MAuCPwD,IACJA,EAAI1D,KAGLR,EAAI6F,EACJnF,GAAO,OAGG,IAANmF,GAAarF,EAAE0D,EA9CP,KAiCa1D,KAkB3B,OAAOE,EFmEHwF,CAAOrD,GAGNtC,EAEJyF,EAAMzF,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIqC,EAAE9B,OAAQP,IAC1B,GAAgB,MAAXqC,EAAGrC,GAAc,CACrBuF,EAAQvF,EAAI,EACZ,MAIFwF,GAAOD,EAwBR,OArBArF,EAAMH,EAAIsC,EACLmD,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTzF,EAAMA,EAAI6D,UAAWwB,IAGrBrF,EAAMA,EAAI6D,UAAW,GAItByB,EItHD,SAAetF,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,sEAGvBW,EAAI,IAEL,GAAKD,EPzByB,iBO0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGD6E,GAAQc,EADf9F,EAAIoF,GAAMpF,IACcG,EJ0FlB4F,CADNN,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpCtF,EKzHD,SAAeA,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,kEAGvBW,EAAI,IAEL,GAAKD,ERzByB,iBQ0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGDA,EAAM6E,GAAQc,EADrB9F,EAAIoF,GAAMpF,IL8FJgG,CAAM7F,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IA+InBxC,EAAOiE,EAAMtF"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index 2b523eb..0000000 --- a/stats.html +++ /dev/null @@ -1,2689 +0,0 @@ - - - - - - - - RollUp Visualizer - - - -
- - - - - From efd26ac7852f832f68213932e2b780e89c316d79 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Tue, 27 Sep 2022 21:55:17 +0000 Subject: [PATCH 022/146] Auto-generated commit --- .editorconfig | 181 -- .eslintrc.js | 1 - .gitattributes | 49 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 62 - .github/workflows/cancel.yml | 56 - .github/workflows/close_pull_requests.yml | 44 - .github/workflows/examples.yml | 62 - .github/workflows/npm_downloads.yml | 108 - .github/workflows/productionize.yml | 760 ------ .github/workflows/publish.yml | 117 - .github/workflows/test.yml | 92 - .github/workflows/test_bundles.yml | 180 -- .github/workflows/test_coverage.yml | 123 - .github/workflows/test_install.yml | 83 - .gitignore | 178 -- .npmignore | 227 -- .npmrc | 28 - CHANGELOG.md | 5 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 ---- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 -- lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 2689 +++++++++++++++++++++ test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 -- 44 files changed, 2708 insertions(+), 3944 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0fd4d6c..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 29bf533..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index a7a7f51..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,56 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - uses: styfle/cancel-workflow-action@0.9.0 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index 576054a..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,44 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 39b1613..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout the repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 7ca169c..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,108 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '0 8 * * 6' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "::set-output name=package_name::$name" - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "::set-output name=data::$data" - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - uses: actions/upload-artifact@v2 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - uses: distributhor/workflow-webhook@v2 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 5094681..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,760 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - uses: actions/checkout@v3 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Format error messages: - - name: 'Replace double quotes with single quotes in rewritten format string error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\( \"([a-zA-Z0-9]+)\"/Error\( format\( '\1'/g" {} \; - - # Format string literal error messages: - - name: 'Replace double quotes with single quotes in rewritten string literal error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\(\"([a-zA-Z0-9]+)\"\)/Error\( format\( '\1' \)/g" {} \; - - # Format code: - - name: 'Replace double quotes with single quotes in inserted `require` calls' - run: | - find . -name "*.js" -exec sed -E -i "s/require\( ?\"@stdlib\/error-tools-fmtprodmsg\" ?\);/require\( '@stdlib\/error-tools-fmtprodmsg' \);/g" {} \; - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\"/\"@stdlib\/error-tools-fmtprodmsg\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^0.0.x'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "::set-output name=remote-exists::true" - else - echo "::set-output name=remote-exists::false" - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - uses: act10ns/slack@v1 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "::set-output name=remote-exists::true" - else - echo "::set-output name=remote-exists::false" - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "::set-output name=alias::${alias}" - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 5f08e438cbc5331864900fed5b0ddb1c95c5f13d Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sat, 1 Oct 2022 04:53:29 +0000 Subject: [PATCH 023/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b89a991..36dde03 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.0.x", "@stdlib/string-left-pad": "^0.0.x", "@stdlib/string-repeat": "^0.0.x", - "@stdlib/string-right-pad": "^0.0.x" + "@stdlib/string-right-pad": "^0.0.x", + "@stdlib/error-tools-fmtprodmsg": "^0.0.x" }, "devDependencies": { "@stdlib/assert-is-string": "^0.0.x", @@ -98,4 +99,4 @@ "type": "patreon", "url": "https://www.patreon.com/athan" } -} +} \ No newline at end of file From d75dedb9b676921d00a63ca01f09e1fbd7a0a05d Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sat, 1 Oct 2022 22:10:10 +0000 Subject: [PATCH 024/146] Remove files --- mod.d.ts | 78 -- mod.js | 4 - mod.js.map | 1 - stats.html | 2689 ---------------------------------------------------- 4 files changed, 2772 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 1881a26..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 2.0 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 09537e2..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2022 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol.toStringTag:"";i=e()?function(r){var e,i,o,u,c;if(null==r)return t.call(r);i=r[a],c=a,e=null!=(u=r)&&n.call(u,c);try{r[a]=void 0}catch(e){return t.call(r)}return o=t.call(r),e?r[a]=i:delete r[a],o}:function(r){return t.call(r)};var o=i,u="function"==typeof Float32Array;var c=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var s="function"==typeof Float32Array?Float32Array:void 0;var f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(u&&t instanceof Float32Array||"[object Float32Array]"===o(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===c}catch(e){r=!1}return r}()?s:function(){throw new Error("not implemented")},g="function"==typeof Uint32Array;var p="function"==typeof Uint32Array?Uint32Array:null;var h="function"==typeof Uint32Array?Uint32Array:void 0;var d=function(){var r,e,t;if("function"!=typeof p)return!1;try{e=new p(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(g&&t instanceof Uint32Array||"[object Uint32Array]"===o(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?h:function(){throw new Error("not implemented")},v=new f(1);new d(v.buffer)[0]=2139095040;var m=v[0],w=new f(1);new d(w.buffer)[0]=4286578688;var y=w[0];var b=Math.floor,E="function"==typeof Object.defineProperty?Object.defineProperty:null;var _=Object.defineProperty,S=Object.prototype,T=S.toString,x=S.__defineGetter__,V=S.__defineSetter__,A=S.__lookupGetter__,j=S.__lookupSetter__;var F=function(){try{return E({},"x",{}),!0}catch(r){return!1}}()?_:function(r,e,t){var n,i,a,o;if("object"!=typeof r||null===r||"[object Array]"===T.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof t||null===t||"[object Array]"===T.call(t))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+t+"`.");if((i="value"in t)&&(A.call(r,e)||j.call(r,e)?(n=r.__proto__,r.__proto__=S,delete r[e],r[e]=t.value,r.__proto__=n):r[e]=t.value),a="get"in t,o="set"in t,i&&(a||o))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return a&&x&&x.call(r,e,t.get),o&&V&&V.call(r,e,t.set),r};function k(r,e,t){F(r,e,{configurable:!1,enumerable:!1,writable:!1,value:t})}function O(r){return"number"==typeof r}var I=Number,P=I.prototype.toString;var R=e();function N(r){return"object"==typeof r&&(r instanceof I||(R?function(r){try{return P.call(r),!0}catch(r){return!1}}(r):"[object Number]"===o(r)))}function $(r){return O(r)||N(r)}k($,"isPrimitive",O),k($,"isObject",N);var U=I.NEGATIVE_INFINITY;function C(r){return rU&&b(e=r)===e;var e}function G(r){return O(r)&&C(r)}function Z(r){return N(r)&&C(r.valueOf())}function M(r){return G(r)||Z(r)}function W(r){return G(r)&&r>=0}function L(r){return Z(r)&&r.valueOf()>=0}function X(r){return W(r)||L(r)}function Y(r){return"string"==typeof r}k(M,"isPrimitive",G),k(M,"isObject",Z),k(X,"isPrimitive",W),k(X,"isObject",L);var z=String.prototype.valueOf;var q=e();function B(r){return"object"==typeof r&&(r instanceof String||(q?function(r){try{return z.call(r),!0}catch(r){return!1}}(r):"[object String]"===o(r)))}function D(r){return Y(r)||B(r)}k(D,"isPrimitive",Y),k(D,"isObject",B);function H(r){return"number"==typeof r}function J(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=or.call(t,pr,"$1e"),t=or.call(t,gr,"e"),t=or.call(t,fr,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=or.call(t,ur,"e+0$1"),t=or.call(t,cr,"e-0$1"),r.alternate&&(t=or.call(t,lr,"$1."),t=or.call(t,sr,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===ar.call(r.specifier)?ar.call(t):ir.call(t)}function dr(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=wr(a)?String(n.arg):mr(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=hr(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=K(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=vr(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var _r=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Sr(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function Tr(r){var e,t,n,i;for(t=[],i=0,n=_r.exec(r);n;)(e=r.slice(i,_r.lastIndex-n[0].length)).length&&t.push(e),t.push(Sr(n)),i=_r.lastIndex,n=_r.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function xr(r){return"string"==typeof r}function Vr(r){var e,t,n;if(!xr(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=Tr(r),(t=new Array(arguments.length))[0]=e,n=1;n9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",r.length*e));for(t="",n=e;1==(1&n)&&(t+=r),0!==(n>>>=1);)r+=r;return t}var jr=Math.ceil;function Fr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=b(e))?"0"+t:"1"+t;return t}function kr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===y?"1":"0",r===m||r===y)return t+(i=Ar("1",8))+(n=Ar("0",23));if(r!=r)return t+(i=Ar("1",8))+(n="1"+Ar("0",22));if(0===r)return t+(i=Ar("0",8))+(n=Ar("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=b(r)),a=Fr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:Ar(i,n=jr(n))+r}(i=Fr(i+127),8,"0"),n=function(r,e,t){var n,i;if(!Y(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!W(e))throw new TypeError(Vr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:r+Ar(i,n=jr(n))}(n,23,"0").substring(0,23),t+i+n}export{kr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 227a49b..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/native_class.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/number.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/is_integer.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/string-repeat/lib/repeat.js","../node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/math-base-special-ceil/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/left_pad.js","../node_modules/@stdlib/string-right-pad/lib/right_pad.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support' ;\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class' ;\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport builtin from './native_class.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property' ;\nimport toStringTag from './tostringtag.js' ;\nimport toStr from './tostring.js' ;\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js' ;\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class' ;\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf' ;\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32' ;\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support' ;\nimport builtin from './float32array.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array' ;\nimport PINF from '@stdlib/constants-float64-pinf' ;\nimport GlobalFloat32Array from './float32array.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class' ;\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max' ;\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32' ;\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support' ;\nimport builtin from './uint32array.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array' ;\nimport UINT32_MAX from '@stdlib/constants-uint32-max' ;\nimport GlobalUint32Array from './uint32array.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf' ;\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32' ;\nimport Uint32Array from '@stdlib/array-uint32' ;\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf' ;\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32' ;\nimport Uint32Array from '@stdlib/array-uint32' ;\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property' ;\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js' ;\nimport builtin from './builtin.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property' ;\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor' ;\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport nativeClass from '@stdlib/utils-native-class' ;\nimport Number from '@stdlib/number-ctor' ;\nimport test from './try2serialize.js' ;\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js' ; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isNumber from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf' ;\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor' ;\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf' ;\nimport NINF from '@stdlib/constants-float64-ninf' ;\nimport isInt from '@stdlib/math-base-assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor' ;\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number' ;\nimport isInt from './integer.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number' ;\nimport isInt from './integer.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isInteger from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isNonNegativeInteger from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport nativeClass from '@stdlib/utils-native-class' ;\nimport test from './try2valueof.js' ;\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js' ; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isString from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js' ;\nimport zeroPad from './zero_pad.js' ;\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js' ;\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js' ;\nimport isString from './is_string.js' ;\nimport formatDouble from './format_double.js' ;\nimport spacePad from './space_pad.js' ;\nimport zeroPad from './zero_pad.js' ;\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate' ;\nimport tokenize from '@stdlib/string-base-format-tokenize' ;\nimport isString from './is_string.js' ;\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\nimport format from '@stdlib/string-format' ;\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', str.length * n ) );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor' ;\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf' ;\nimport NINF from '@stdlib/constants-float32-ninf' ;\nimport BIAS from '@stdlib/constants-float32-exponent-bias' ;\nimport abs from '@stdlib/math-base-special-abs' ;\nimport floor from '@stdlib/math-base-special-floor' ;\nimport rpad from '@stdlib/string-right-pad' ;\nimport lpad from '@stdlib/string-left-pad' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport div2 from './div2.js' ;\nimport mult2 from './mult2.js' ;\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf' ;\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf' ;\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias' ;\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport ceil from '@stdlib/math-base-special-ceil' ;\nimport format from '@stdlib/string-format' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport ceil from '@stdlib/math-base-special-ceil' ;\nimport format from '@stdlib/string-format' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","nativeClass","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass$1","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","main","ctor","Float32Array$1","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","hasUint32Array","Uint32Array","Uint32Array$1","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","isNumber","Number$1","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","String","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","repeat","rpt","cnt","RangeError","ceil","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","len","p","lpad","rpad"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,YEpB/B,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA+B,mBAAXV,OAA0BA,OAAOE,YAAc,GC8BtEO,EADIE,ICDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EHHgBC,EAAOC,EGK3B,GAAKL,QACJ,OAAOT,EAAMe,KAAMN,GAEpBE,EAAMF,EAAGV,GHRkBe,EGSJf,EAAvBW,EHPCG,OAFmBA,EGSAJ,IHFbL,EAAIW,KAAMF,EAAOC,GGKxB,IACCL,EAAGV,QAAgB,EAClB,MAAQiB,GACT,OAAOhB,EAAMe,KAAMN,GASpB,OAPAG,EAAMZ,EAAMe,KAAMN,GAEbC,EACJD,EAAGV,GAAgBY,SAEZF,EAAGV,GAEJa,GC1BR,SAAsBH,GACrB,OAAOT,EAAMe,KAAMN,IFWpB,IAAAQ,EAAeX,EGjCXY,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBC,EAAiC,mBAAjBJ,aAAgCA,aAAe,KCAnE,IAAIK,EAAiC,mBAAjBL,aAAgCA,kBAAe,EC6BnE,IAAAM,ECbA,WACC,IAAIC,EACAC,ELMoBd,EKJxB,GAAmC,mBAAvBe,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bf,EKGNc,EADjBD,GLAER,GAAmBL,aAAiBM,cACb,0BAAzBb,EAAaO,KKCC,IAAbc,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,EAEb,MAAQb,GACTU,GAAO,EAER,OAAOA,EDhBHI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,oBCHdC,EAA0C,mBAAhBC,YC4B9B,ICjCIX,EAAgC,mBAAhBW,YAA+BA,YAAc,KCAjE,IAAIV,EAAgC,mBAAhBU,YAA+BA,iBAAc,EC6BjE,IAAAC,ECbA,WACC,IAAIT,EACAC,ELMmBd,EKJvB,GAAkC,mBAAtBuB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBxB,EKINc,EADhBD,GLDEO,GAAkBpB,aAAiBqB,aACZ,yBAAzB5B,EAAaO,KKEC,IAAbc,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,GAEL,MAAQX,GACTU,GAAO,EAER,OAAOA,EDlBHY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,oBCSdO,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAX,EALIU,EAAc,GC9BdA,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbnB,EAA0C,mBAA1BtB,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eC/BxBC,EAAiB5C,OAAOC,UACxBF,EAAQ6C,EAAe1C,SACvB2C,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBC4BlC,IAAAC,ECpBA,WAEC,IAEC,OADAV,EAAgB,GAAI,IAAK,KAClB,EACN,MAAQ5B,GACT,OAAO,GDKJuC,GACaxB,EDgBlB,SAAyByB,EAAKC,EAAMC,GACnC,IAAIxD,EACAyD,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBxD,EAAMe,KAAMyC,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B1D,EAAMe,KAAM2C,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBR,EAAanC,KAAMyC,EAAKC,IACxBL,EAAarC,KAAMyC,EAAKC,IAGxBvD,EAAYsD,EAAIO,UAChBP,EAAIO,UAAYlB,SAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW7C,MAGzB2C,EAAIO,UAAY7D,GAEhBsD,EAAKC,GAASC,EAAW7C,OAG3B+C,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAI7B,MAAO,wHASlB,OANK4B,GAAUd,GACdA,EAAa/B,KAAMyC,EAAKC,EAAMC,EAAWM,KAErCH,GAAUb,GACdA,EAAajC,KAAMyC,EAAKC,EAAMC,EAAWO,KAEnCT,GGjER,SAASU,EAA0BV,EAAKC,EAAM5C,GAC7C+B,EAAgBY,EAAKC,EAAM,CAC1BU,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxD,MAASA,ICZX,SAASyD,EAAUzD,GAClB,MAA0B,iBAAVA,ECjBjB,IAAA0D,EAAelD,OCMXlB,EAAWkB,EAAOnB,UAAUC,SCEhC,IAAIP,EAAMY,IAmBV,SAAS8D,EAAUzD,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,IAGjBzB,ECpBP,SAAeiB,GACd,IAEC,OADAV,EAASY,KAAMF,IACR,EACN,MAAQG,GACT,OAAO,GDgBCwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,KEPxB,SAASyD,EAAUzD,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCqB5C8D,EAAAL,EAAA,cAAAG,GACAE,EAAAL,EAAA,WAAAI,GCnBA,IAAIE,EAAevD,EAAOwD,kBClB1B,SAASC,EAAWjE,GACnB,OACCA,EAAQgB,GACRhB,EAAQ4B,GCGDC,EADWqC,EDDXlE,KCEakE,EADtB,IAAoBA,ECCpB,SAASD,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,GCHT,SAASiE,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAAMoE,WCKf,SAASH,EAAWjE,GACnB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCV5C,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,GAAS,ECHX,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,EAAMoE,WAAa,ECUrB,SAASC,EAAsBrE,GAC9B,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCrB5C,SAASsE,EAAUtE,GAClB,MAA0B,iBAAVA,ECoCjB8D,EAAAG,EAAA,cAAAL,GACAE,EAAAG,EAAA,WAAAJ,GCAAC,EAAAO,EAAA,cAAAT,GACAE,EAAAO,EAAA,WAAAR,GCpDA,IAAIO,EAAUG,OAAOlF,UAAU+E,QCQ/B,IAAIrF,EAAMY,IAmBV,SAAS2E,EAAUtE,GAClB,MAAsB,iBAAVA,IACNA,aAAiBuE,SAGjBxF,ECnBP,SAAeiB,GACd,IAEC,OADAoE,EAAQlE,KAAMF,IACP,EACN,MAAQG,GACT,OAAO,GDeCwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,KEdxB,SAASsE,EAAUtE,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCuB5C8D,EAAAQ,EAAA,cAAAV,GACAE,EAAAQ,EAAA,WAAAT,GC7BA,SAASJ,EAAUzD,GAClB,MAA0B,iBAAVA,ECCjB,SAASwE,EAAOC,GACf,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,EAeR,SAAS4E,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,GAqCPM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,ECvCT,IAAIQ,EAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAajC,SAASC,GAAeC,GACvB,IAAIC,EACA3F,EACA2E,EAEJ,OAASe,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFA3F,EAAM0F,EAAMG,IACZlB,EAAImB,SAAU9F,EAAK,KACb+F,SAAUpB,GAAM,CACrB,IAAMjB,EAAU1D,GACf,MAAM,IAAIoB,MAAO,2BAA6BpB,GAE/C2E,EAAI,EAmCL,OAjCKA,EAAI,IAA2B,MAApBe,EAAME,WAA8B,KAATD,KAC1ChB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACR3E,IAAS2E,GAAIpF,SAAUoG,GAClBD,EAAMM,YACVhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAE5CjG,EAAM,IAAMA,IAEZA,EAAM2E,EAAEpF,SAAUoG,GACZhB,GAAMe,EAAMM,UAENN,EAAMM,YACjBhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAF3CjG,EAAM,GAIF0F,EAAMQ,OACVlG,EAAM0F,EAAMQ,KAAOlG,IAGP,KAAT2F,IACCD,EAAMS,YACVnG,EAAM,KAAOA,GAEdA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,EAAUlF,KAAMH,IAEJ,IAAT2F,GACCD,EAAMS,WAAiC,MAApBnG,EAAIoG,OAAQ,KACnCpG,EAAM,IAAMA,GAGPA,EC1ER,SAASuE,GAAUtE,GAClB,MAA0B,iBAAVA,ECVjB,IAAIoG,GAAMtE,KAAKsE,IACXhB,GAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAC7Bc,GAAU9B,OAAOlF,UAAUgH,QAK3BC,GAAoB,WACpBC,GAAoB,UACpBC,GAAiB,UACjBC,GAAuB,UACvBC,GAA0B,OAC1BC,GAAqB,QACrBC,GAAqB,gBAazB,SAASC,GAAcpB,GACtB,IAAIqB,EACA/G,EACAgH,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMtD,EAAUgC,EAAMG,KACrB,MAAM,IAAIzE,MAAO,yCAA2CpB,GAG7DgH,EAAItB,EAAMG,IAEX,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJ5F,EAAMgH,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJhG,EAAMgH,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,GAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEX/G,EAAMgH,EAAEE,cAAeH,IAEvB/G,EAAMgH,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACXnG,EAAMsG,GAAQnG,KAAMH,EAAK6G,GAAoB,OAC7C7G,EAAMsG,GAAQnG,KAAMH,EAAK4G,GAAoB,KAC7C5G,EAAMsG,GAAQnG,KAAMH,EAAK2G,GAAyB,KAEnD,MACD,QACC,MAAM,IAAIvF,MAAO,mCAAqCsE,EAAME,WAc7D,OAZA5F,EAAMsG,GAAQnG,KAAMH,EAAKuG,GAAmB,SAC5CvG,EAAMsG,GAAQnG,KAAMH,EAAKwG,GAAmB,SACvCd,EAAMS,YACVnG,EAAMsG,GAAQnG,KAAMH,EAAKyG,GAAgB,OACzCzG,EAAMsG,GAAQnG,KAAMH,EAAK0G,GAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpBlG,EAAM0F,EAAMQ,KAAOlG,GAEpBA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,GAAUlF,KAAMH,GC1ElB,SAASqH,GAAQ3C,GAChB,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,EAeR,SAASsH,GAAUzC,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAMwC,GAAQpC,GACdoC,GAAQpC,GAAQJ,EC1BlB,IAAI0C,GAAe/C,OAAO+C,aACtBC,GAAQC,MACRC,GAAUC,MAAMD,QAYpB,SAASE,GAAYlC,GACpB,IAAI1F,EAAM,GAMV,OALAA,EAAI4F,UAAYF,EAAME,UACtB5F,EAAIgG,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DhG,EAAI8E,MAAQY,EAAMZ,MAClB9E,EAAI6H,MAAQnC,EAAMmC,OAAS,GAC3B7H,EAAI8H,QAAUpC,EAAMoC,QACb9H,EAoBR,SAAS+H,GAAmBC,GAC3B,IAAIC,EACAJ,EACAnC,EACAwC,EACAC,EACAnI,EACAoI,EACAzD,EACA0D,EAEJ,IAAMX,GAASM,GACd,MAAM,IAAI9E,UAAW,8DAAgE8E,EAAS,MAI/F,IAFAhI,EAAM,GACNoI,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GAAKJ,GADLmB,EAAQsC,EAAQrD,IAEf3E,GAAO0F,MACD,CAGN,GAFAuC,OAAgC,IAApBvC,EAAMM,YAClBN,EAAQkC,GAAYlC,IACRE,UACX,MAAM,IAAI1C,UAAW,oEAAqEyB,EAAG,cAAgBe,EAAQ,MAMtH,IAJKA,EAAMoC,UACVM,EAAM1C,EAAMoC,SAEbD,EAAQnC,EAAMmC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMzB,OAAQiC,IAErB,IAAK,IACJ3C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWT,EAAMU,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI/E,MAAO,iBAAmB8G,GAGtC,GAAqB,MAAhBxC,EAAMZ,MAAgB,CAG1B,GAFAY,EAAMZ,MAAQgB,SAAU0C,UAAWJ,GAAO,IAC1CA,GAAO,EACFZ,GAAO9B,EAAMZ,OACjB,MAAM,IAAI5B,UAAW,wCAA0CkF,EAAM,6BAA+B1C,EAAMZ,MAAQ,MAE9GY,EAAMZ,MAAQ,IAClBY,EAAMO,UAAW,EACjBP,EAAMZ,OAASY,EAAMZ,OAGvB,GAAKmD,GACqB,MAApBvC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWJ,GAAO,IAC9CA,GAAO,EACFZ,GAAO9B,EAAMM,WACjB,MAAM,IAAI9C,UAAW,4CAA8CkF,EAAM,6BAA+B1C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBiC,GAAY,GAKf,OADAvC,EAAMG,IAAM2C,UAAWJ,GACd1C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECqC,IACJvC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,GAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMwB,GAAO9B,EAAMG,KAAQ,CAE1B,IADAsC,EAAMrC,SAAUJ,EAAMG,IAAK,KAChB,GAAKsC,EAAM,IACrB,MAAM,IAAI/G,MAAO,kCAAoCsE,EAAMG,KAE5DH,EAAMG,IAAQ2B,GAAOW,GACpB3D,OAAQkB,EAAMG,KACd0B,GAAcY,GAEhB,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLvC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,GAAcpB,GAC1B,MACD,QACC,MAAM,IAAItE,MAAO,sBAAwBsE,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIX,OAASQ,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMjB,EAASc,EAAMG,IAAKH,EAAMZ,OAASY,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMZ,QACjBY,EAAMG,IAAMyB,GAAU5B,EAAMG,IAAKH,EAAMZ,MAAOY,EAAMO,WAErDjG,GAAO0F,EAAMG,KAAO,GACpBuC,GAAO,EAGT,OAAOpI,EC1LR,IAAI2I,GAAK,6EAYT,SAASC,GAAOC,GACf,IAAInD,EAAQ,CACXoC,QAAae,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDhB,MAASgB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,EAgBR,SAASoD,GAAgBjE,GACxB,IAAIkE,EACAf,EACAa,EACAG,EAKJ,IAHAhB,EAAS,GACTgB,EAAO,EACPH,EAAQF,GAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,GAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ8C,EAAOoB,KAAML,GAEdf,EAAOoB,KAAMR,GAAOC,IACpBG,EAAOL,GAAGQ,UACVN,EAAQF,GAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ8C,EAAOoB,KAAML,GAEPf,ECjDR,SAASzD,GAAUtE,GAClB,MAA0B,iBAAVA,ECWjB,SAASoJ,GAAQxE,GAChB,IAAImD,EACAsB,EACA3E,EAEJ,IAAMJ,GAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAKjG,IAHAmD,EAASuB,GAAU1E,IACnByE,EAAO,IAAI3B,MAAOa,UAAUtD,SACtB,GAAM8C,EACNrD,EAAI,EAAGA,EAAI2E,EAAKpE,OAAQP,IAC7B2E,EAAM3E,GAAM6D,UAAW7D,GAExB,OAAO6E,GAAYC,MAAO,KAAMH,GC+BjC,SAASI,GAAQ7E,EAAKH,GACrB,IAAIiF,EACAC,EACJ,IAAMrF,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBI,GAC3B,MAAM,IAAIxB,UAAWmG,GAAQ,gFAAiF3E,IAE/G,GAAoB,IAAfG,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAGR,GAAKG,EAAIK,OAASR,ECrDY,iBDsD7B,MAAM,IAAImF,WAAYR,GAAQ,6FAA8FxE,EAAIK,OAASR,IAI1I,IAFAiF,EAAM,GACNC,EAAMlF,EAGY,IAAP,EAAJkF,KACLD,GAAO9E,GAIK,KADb+E,KAAS,IAKT/E,GAAOA,EAER,OAAO8E,EE9ER,IAAIG,GAAO/H,KAAK+H,KCMhB,SAASC,GAAM5F,GAKd,IAJA,IACI6F,EADAnF,EAAM,GAIFV,EAAI,GAIVU,GAHDmF,EAAI7F,EAAI,MACRA,EAAIrC,EAAOkI,IAEJ,IAAMnF,EAEN,IAAMA,EAGd,OAAOA,EC+BR,SAASoF,GAAiB9F,GACzB,IAAI+F,EACAhE,EACArB,EACAsF,EACAzF,EACAsC,EACArC,EASJ,GALCuB,EADI/B,EAAI,GAAO,EAAIA,IAAMtC,EAClB,IAEA,IAGHsC,IAAMlD,GAAQkD,IAAMtC,EAIxB,OAAOqE,GAFPiE,EAAMT,GAAQ,IA3EQ,KA4EtB7E,EAAM6E,GAAQ,IA7EW,KAiF1B,GAAKvF,GAAMA,EAIV,OAAO+B,GAFPiE,EAAMT,GAAQ,IAlFQ,KAmFtB7E,EAAM,IAAM6E,GAAQ,IAAKU,KAI1B,GAAW,IAANjG,EAIJ,OAAO+B,GAFPiE,EAAMT,GAAQ,IAzFQ,KA0FtB7E,EAAM6E,GAAQ,IA3FW,KA2G1B,GAPA1C,GANA7C,ECnFD,SAAcA,GACb,OAAOpC,KAAKsE,IAAKlC,GDkFbkC,CAAKlC,KAGTO,EAAI5C,EAAOqC,IAMXO,EAAIqF,GAAMrF,GACVsC,EElGD,SAAgB7C,GACf,IAAIU,EACAmF,EACArF,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAANV,EACJ,OAAOU,EAKR,IAHAwD,EA/Bc,IAkCR1D,EAAI,EAAGA,EAlCC,OAmCbqF,EAAQ,EAAJ7F,IACM,GACTA,EAAI6F,EAAI,EACRnF,GAAO,IAtCK,MAuCPwD,IACJA,EAAI1D,KAGLR,EAAI6F,EACJnF,GAAO,OAGG,IAANmF,GAAarF,EAAE0D,EA9CP,KAiCa1D,KAkB3B,OAAOE,EFmEHwF,CAAOrD,GAGNtC,EAEJyF,EAAMzF,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIqC,EAAE9B,OAAQP,IAC1B,GAAgB,MAAXqC,EAAGrC,GAAc,CACrBuF,EAAQvF,EAAI,EACZ,MAIFwF,GAAOD,EAwBR,OArBArF,EAAMH,EAAIsC,EACLmD,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTzF,EAAMA,EAAI6D,UAAWwB,IAGrBrF,EAAMA,EAAI6D,UAAW,GAItByB,EItHD,SAAetF,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,sEAGvBW,EAAI,IAEL,GAAKD,EPzByB,iBO0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGD6E,GAAQc,EADf9F,EAAIoF,GAAMpF,IACcG,EJ0FlB4F,CADNN,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpCtF,EKzHD,SAAeA,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,kEAGvBW,EAAI,IAEL,GAAKD,ERzByB,iBQ0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGDA,EAAM6E,GAAQc,EADrB9F,EAAIoF,GAAMpF,IL8FJgG,CAAM7F,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IA+InBxC,EAAOiE,EAAMtF"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index c79d901..0000000 --- a/stats.html +++ /dev/null @@ -1,2689 +0,0 @@ - - - - - - - - RollUp Visualizer - - - -
- - - - - From c5103d179e12043921f286960de786eab570093a Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sat, 1 Oct 2022 22:11:16 +0000 Subject: [PATCH 025/146] Auto-generated commit --- .editorconfig | 181 -- .eslintrc.js | 1 - .gitattributes | 49 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 62 - .github/workflows/cancel.yml | 56 - .github/workflows/close_pull_requests.yml | 44 - .github/workflows/examples.yml | 62 - .github/workflows/npm_downloads.yml | 108 - .github/workflows/productionize.yml | 760 ------ .github/workflows/publish.yml | 117 - .github/workflows/test.yml | 92 - .github/workflows/test_bundles.yml | 180 -- .github/workflows/test_coverage.yml | 123 - .github/workflows/test_install.yml | 83 - .gitignore | 178 -- .npmignore | 227 -- .npmrc | 28 - CHANGELOG.md | 5 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 ---- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 -- lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 2689 +++++++++++++++++++++ test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 -- 45 files changed, 2708 insertions(+), 3945 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0fd4d6c..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index b313a43..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2022-10-01T01:48:40.427Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 29bf533..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index a7a7f51..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,56 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - uses: styfle/cancel-workflow-action@0.9.0 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index 576054a..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,44 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 39b1613..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout the repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 7ca169c..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,108 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '0 8 * * 6' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "::set-output name=package_name::$name" - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "::set-output name=data::$data" - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - uses: actions/upload-artifact@v2 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - uses: distributhor/workflow-webhook@v2 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 5094681..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,760 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - uses: actions/checkout@v3 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Format error messages: - - name: 'Replace double quotes with single quotes in rewritten format string error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\( \"([a-zA-Z0-9]+)\"/Error\( format\( '\1'/g" {} \; - - # Format string literal error messages: - - name: 'Replace double quotes with single quotes in rewritten string literal error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\(\"([a-zA-Z0-9]+)\"\)/Error\( format\( '\1' \)/g" {} \; - - # Format code: - - name: 'Replace double quotes with single quotes in inserted `require` calls' - run: | - find . -name "*.js" -exec sed -E -i "s/require\( ?\"@stdlib\/error-tools-fmtprodmsg\" ?\);/require\( '@stdlib\/error-tools-fmtprodmsg' \);/g" {} \; - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\"/\"@stdlib\/error-tools-fmtprodmsg\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^0.0.x'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "::set-output name=remote-exists::true" - else - echo "::set-output name=remote-exists::false" - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - uses: act10ns/slack@v1 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "::set-output name=remote-exists::true" - else - echo "::set-output name=remote-exists::false" - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - uses: actions/setup-node@v2 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "::set-output name=alias::${alias}" - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 72446ae13bea44f6996c5749a1756e5e3e2a0bb6 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Tue, 1 Nov 2022 04:25:57 +0000 Subject: [PATCH 026/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b89a991..36dde03 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.0.x", "@stdlib/string-left-pad": "^0.0.x", "@stdlib/string-repeat": "^0.0.x", - "@stdlib/string-right-pad": "^0.0.x" + "@stdlib/string-right-pad": "^0.0.x", + "@stdlib/error-tools-fmtprodmsg": "^0.0.x" }, "devDependencies": { "@stdlib/assert-is-string": "^0.0.x", @@ -98,4 +99,4 @@ "type": "patreon", "url": "https://www.patreon.com/athan" } -} +} \ No newline at end of file From 0d11c08ea97d9a8100fc3b357076de22f35d90ec Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Tue, 1 Nov 2022 19:05:44 +0000 Subject: [PATCH 027/146] Remove files --- mod.d.ts | 78 -- mod.js | 4 - mod.js.map | 1 - stats.html | 2689 ---------------------------------------------------- 4 files changed, 2772 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 1881a26..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 2.0 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 09537e2..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2022 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol.toStringTag:"";i=e()?function(r){var e,i,o,u,c;if(null==r)return t.call(r);i=r[a],c=a,e=null!=(u=r)&&n.call(u,c);try{r[a]=void 0}catch(e){return t.call(r)}return o=t.call(r),e?r[a]=i:delete r[a],o}:function(r){return t.call(r)};var o=i,u="function"==typeof Float32Array;var c=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var s="function"==typeof Float32Array?Float32Array:void 0;var f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(u&&t instanceof Float32Array||"[object Float32Array]"===o(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===c}catch(e){r=!1}return r}()?s:function(){throw new Error("not implemented")},g="function"==typeof Uint32Array;var p="function"==typeof Uint32Array?Uint32Array:null;var h="function"==typeof Uint32Array?Uint32Array:void 0;var d=function(){var r,e,t;if("function"!=typeof p)return!1;try{e=new p(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(g&&t instanceof Uint32Array||"[object Uint32Array]"===o(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?h:function(){throw new Error("not implemented")},v=new f(1);new d(v.buffer)[0]=2139095040;var m=v[0],w=new f(1);new d(w.buffer)[0]=4286578688;var y=w[0];var b=Math.floor,E="function"==typeof Object.defineProperty?Object.defineProperty:null;var _=Object.defineProperty,S=Object.prototype,T=S.toString,x=S.__defineGetter__,V=S.__defineSetter__,A=S.__lookupGetter__,j=S.__lookupSetter__;var F=function(){try{return E({},"x",{}),!0}catch(r){return!1}}()?_:function(r,e,t){var n,i,a,o;if("object"!=typeof r||null===r||"[object Array]"===T.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof t||null===t||"[object Array]"===T.call(t))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+t+"`.");if((i="value"in t)&&(A.call(r,e)||j.call(r,e)?(n=r.__proto__,r.__proto__=S,delete r[e],r[e]=t.value,r.__proto__=n):r[e]=t.value),a="get"in t,o="set"in t,i&&(a||o))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return a&&x&&x.call(r,e,t.get),o&&V&&V.call(r,e,t.set),r};function k(r,e,t){F(r,e,{configurable:!1,enumerable:!1,writable:!1,value:t})}function O(r){return"number"==typeof r}var I=Number,P=I.prototype.toString;var R=e();function N(r){return"object"==typeof r&&(r instanceof I||(R?function(r){try{return P.call(r),!0}catch(r){return!1}}(r):"[object Number]"===o(r)))}function $(r){return O(r)||N(r)}k($,"isPrimitive",O),k($,"isObject",N);var U=I.NEGATIVE_INFINITY;function C(r){return rU&&b(e=r)===e;var e}function G(r){return O(r)&&C(r)}function Z(r){return N(r)&&C(r.valueOf())}function M(r){return G(r)||Z(r)}function W(r){return G(r)&&r>=0}function L(r){return Z(r)&&r.valueOf()>=0}function X(r){return W(r)||L(r)}function Y(r){return"string"==typeof r}k(M,"isPrimitive",G),k(M,"isObject",Z),k(X,"isPrimitive",W),k(X,"isObject",L);var z=String.prototype.valueOf;var q=e();function B(r){return"object"==typeof r&&(r instanceof String||(q?function(r){try{return z.call(r),!0}catch(r){return!1}}(r):"[object String]"===o(r)))}function D(r){return Y(r)||B(r)}k(D,"isPrimitive",Y),k(D,"isObject",B);function H(r){return"number"==typeof r}function J(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=or.call(t,pr,"$1e"),t=or.call(t,gr,"e"),t=or.call(t,fr,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=or.call(t,ur,"e+0$1"),t=or.call(t,cr,"e-0$1"),r.alternate&&(t=or.call(t,lr,"$1."),t=or.call(t,sr,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===ar.call(r.specifier)?ar.call(t):ir.call(t)}function dr(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=wr(a)?String(n.arg):mr(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=hr(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=K(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=vr(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var _r=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Sr(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function Tr(r){var e,t,n,i;for(t=[],i=0,n=_r.exec(r);n;)(e=r.slice(i,_r.lastIndex-n[0].length)).length&&t.push(e),t.push(Sr(n)),i=_r.lastIndex,n=_r.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function xr(r){return"string"==typeof r}function Vr(r){var e,t,n;if(!xr(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=Tr(r),(t=new Array(arguments.length))[0]=e,n=1;n9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",r.length*e));for(t="",n=e;1==(1&n)&&(t+=r),0!==(n>>>=1);)r+=r;return t}var jr=Math.ceil;function Fr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=b(e))?"0"+t:"1"+t;return t}function kr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===y?"1":"0",r===m||r===y)return t+(i=Ar("1",8))+(n=Ar("0",23));if(r!=r)return t+(i=Ar("1",8))+(n="1"+Ar("0",22));if(0===r)return t+(i=Ar("0",8))+(n=Ar("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=b(r)),a=Fr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:Ar(i,n=jr(n))+r}(i=Fr(i+127),8,"0"),n=function(r,e,t){var n,i;if(!Y(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!W(e))throw new TypeError(Vr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:r+Ar(i,n=jr(n))}(n,23,"0").substring(0,23),t+i+n}export{kr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 227a49b..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/native_class.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/number.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/is_integer.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/string-repeat/lib/repeat.js","../node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/math-base-special-ceil/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/left_pad.js","../node_modules/@stdlib/string-right-pad/lib/right_pad.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support' ;\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class' ;\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport builtin from './native_class.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property' ;\nimport toStringTag from './tostringtag.js' ;\nimport toStr from './tostring.js' ;\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js' ;\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class' ;\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf' ;\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32' ;\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support' ;\nimport builtin from './float32array.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array' ;\nimport PINF from '@stdlib/constants-float64-pinf' ;\nimport GlobalFloat32Array from './float32array.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class' ;\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max' ;\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32' ;\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support' ;\nimport builtin from './uint32array.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array' ;\nimport UINT32_MAX from '@stdlib/constants-uint32-max' ;\nimport GlobalUint32Array from './uint32array.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf' ;\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32' ;\nimport Uint32Array from '@stdlib/array-uint32' ;\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf' ;\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32' ;\nimport Uint32Array from '@stdlib/array-uint32' ;\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property' ;\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js' ;\nimport builtin from './builtin.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property' ;\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor' ;\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport nativeClass from '@stdlib/utils-native-class' ;\nimport Number from '@stdlib/number-ctor' ;\nimport test from './try2serialize.js' ;\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js' ; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isNumber from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf' ;\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor' ;\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf' ;\nimport NINF from '@stdlib/constants-float64-ninf' ;\nimport isInt from '@stdlib/math-base-assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor' ;\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number' ;\nimport isInt from './integer.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number' ;\nimport isInt from './integer.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isInteger from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isNonNegativeInteger from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport nativeClass from '@stdlib/utils-native-class' ;\nimport test from './try2valueof.js' ;\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js' ; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isString from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js' ;\nimport zeroPad from './zero_pad.js' ;\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js' ;\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js' ;\nimport isString from './is_string.js' ;\nimport formatDouble from './format_double.js' ;\nimport spacePad from './space_pad.js' ;\nimport zeroPad from './zero_pad.js' ;\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate' ;\nimport tokenize from '@stdlib/string-base-format-tokenize' ;\nimport isString from './is_string.js' ;\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\nimport format from '@stdlib/string-format' ;\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', str.length * n ) );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor' ;\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf' ;\nimport NINF from '@stdlib/constants-float32-ninf' ;\nimport BIAS from '@stdlib/constants-float32-exponent-bias' ;\nimport abs from '@stdlib/math-base-special-abs' ;\nimport floor from '@stdlib/math-base-special-floor' ;\nimport rpad from '@stdlib/string-right-pad' ;\nimport lpad from '@stdlib/string-left-pad' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport div2 from './div2.js' ;\nimport mult2 from './mult2.js' ;\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf' ;\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf' ;\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias' ;\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport ceil from '@stdlib/math-base-special-ceil' ;\nimport format from '@stdlib/string-format' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport ceil from '@stdlib/math-base-special-ceil' ;\nimport format from '@stdlib/string-format' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","nativeClass","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass$1","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","main","ctor","Float32Array$1","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","hasUint32Array","Uint32Array","Uint32Array$1","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","isNumber","Number$1","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","String","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","repeat","rpt","cnt","RangeError","ceil","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","len","p","lpad","rpad"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,YEpB/B,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA+B,mBAAXV,OAA0BA,OAAOE,YAAc,GC8BtEO,EADIE,ICDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EHHgBC,EAAOC,EGK3B,GAAKL,QACJ,OAAOT,EAAMe,KAAMN,GAEpBE,EAAMF,EAAGV,GHRkBe,EGSJf,EAAvBW,EHPCG,OAFmBA,EGSAJ,IHFbL,EAAIW,KAAMF,EAAOC,GGKxB,IACCL,EAAGV,QAAgB,EAClB,MAAQiB,GACT,OAAOhB,EAAMe,KAAMN,GASpB,OAPAG,EAAMZ,EAAMe,KAAMN,GAEbC,EACJD,EAAGV,GAAgBY,SAEZF,EAAGV,GAEJa,GC1BR,SAAsBH,GACrB,OAAOT,EAAMe,KAAMN,IFWpB,IAAAQ,EAAeX,EGjCXY,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBC,EAAiC,mBAAjBJ,aAAgCA,aAAe,KCAnE,IAAIK,EAAiC,mBAAjBL,aAAgCA,kBAAe,EC6BnE,IAAAM,ECbA,WACC,IAAIC,EACAC,ELMoBd,EKJxB,GAAmC,mBAAvBe,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bf,EKGNc,EADjBD,GLAER,GAAmBL,aAAiBM,cACb,0BAAzBb,EAAaO,KKCC,IAAbc,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,EAEb,MAAQb,GACTU,GAAO,EAER,OAAOA,EDhBHI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,oBCHdC,EAA0C,mBAAhBC,YC4B9B,ICjCIX,EAAgC,mBAAhBW,YAA+BA,YAAc,KCAjE,IAAIV,EAAgC,mBAAhBU,YAA+BA,iBAAc,EC6BjE,IAAAC,ECbA,WACC,IAAIT,EACAC,ELMmBd,EKJvB,GAAkC,mBAAtBuB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBxB,EKINc,EADhBD,GLDEO,GAAkBpB,aAAiBqB,aACZ,yBAAzB5B,EAAaO,KKEC,IAAbc,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,GAEL,MAAQX,GACTU,GAAO,EAER,OAAOA,EDlBHY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,oBCSdO,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAX,EALIU,EAAc,GC9BdA,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbnB,EAA0C,mBAA1BtB,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eC/BxBC,EAAiB5C,OAAOC,UACxBF,EAAQ6C,EAAe1C,SACvB2C,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBC4BlC,IAAAC,ECpBA,WAEC,IAEC,OADAV,EAAgB,GAAI,IAAK,KAClB,EACN,MAAQ5B,GACT,OAAO,GDKJuC,GACaxB,EDgBlB,SAAyByB,EAAKC,EAAMC,GACnC,IAAIxD,EACAyD,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBxD,EAAMe,KAAMyC,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B1D,EAAMe,KAAM2C,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBR,EAAanC,KAAMyC,EAAKC,IACxBL,EAAarC,KAAMyC,EAAKC,IAGxBvD,EAAYsD,EAAIO,UAChBP,EAAIO,UAAYlB,SAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW7C,MAGzB2C,EAAIO,UAAY7D,GAEhBsD,EAAKC,GAASC,EAAW7C,OAG3B+C,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAI7B,MAAO,wHASlB,OANK4B,GAAUd,GACdA,EAAa/B,KAAMyC,EAAKC,EAAMC,EAAWM,KAErCH,GAAUb,GACdA,EAAajC,KAAMyC,EAAKC,EAAMC,EAAWO,KAEnCT,GGjER,SAASU,EAA0BV,EAAKC,EAAM5C,GAC7C+B,EAAgBY,EAAKC,EAAM,CAC1BU,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxD,MAASA,ICZX,SAASyD,EAAUzD,GAClB,MAA0B,iBAAVA,ECjBjB,IAAA0D,EAAelD,OCMXlB,EAAWkB,EAAOnB,UAAUC,SCEhC,IAAIP,EAAMY,IAmBV,SAAS8D,EAAUzD,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,IAGjBzB,ECpBP,SAAeiB,GACd,IAEC,OADAV,EAASY,KAAMF,IACR,EACN,MAAQG,GACT,OAAO,GDgBCwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,KEPxB,SAASyD,EAAUzD,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCqB5C8D,EAAAL,EAAA,cAAAG,GACAE,EAAAL,EAAA,WAAAI,GCnBA,IAAIE,EAAevD,EAAOwD,kBClB1B,SAASC,EAAWjE,GACnB,OACCA,EAAQgB,GACRhB,EAAQ4B,GCGDC,EADWqC,EDDXlE,KCEakE,EADtB,IAAoBA,ECCpB,SAASD,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,GCHT,SAASiE,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAAMoE,WCKf,SAASH,EAAWjE,GACnB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCV5C,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,GAAS,ECHX,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,EAAMoE,WAAa,ECUrB,SAASC,EAAsBrE,GAC9B,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCrB5C,SAASsE,EAAUtE,GAClB,MAA0B,iBAAVA,ECoCjB8D,EAAAG,EAAA,cAAAL,GACAE,EAAAG,EAAA,WAAAJ,GCAAC,EAAAO,EAAA,cAAAT,GACAE,EAAAO,EAAA,WAAAR,GCpDA,IAAIO,EAAUG,OAAOlF,UAAU+E,QCQ/B,IAAIrF,EAAMY,IAmBV,SAAS2E,EAAUtE,GAClB,MAAsB,iBAAVA,IACNA,aAAiBuE,SAGjBxF,ECnBP,SAAeiB,GACd,IAEC,OADAoE,EAAQlE,KAAMF,IACP,EACN,MAAQG,GACT,OAAO,GDeCwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,KEdxB,SAASsE,EAAUtE,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,GCuB5C8D,EAAAQ,EAAA,cAAAV,GACAE,EAAAQ,EAAA,WAAAT,GC7BA,SAASJ,EAAUzD,GAClB,MAA0B,iBAAVA,ECCjB,SAASwE,EAAOC,GACf,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,EAeR,SAAS4E,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,GAqCPM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,ECvCT,IAAIQ,EAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAajC,SAASC,GAAeC,GACvB,IAAIC,EACA3F,EACA2E,EAEJ,OAASe,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFA3F,EAAM0F,EAAMG,IACZlB,EAAImB,SAAU9F,EAAK,KACb+F,SAAUpB,GAAM,CACrB,IAAMjB,EAAU1D,GACf,MAAM,IAAIoB,MAAO,2BAA6BpB,GAE/C2E,EAAI,EAmCL,OAjCKA,EAAI,IAA2B,MAApBe,EAAME,WAA8B,KAATD,KAC1ChB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACR3E,IAAS2E,GAAIpF,SAAUoG,GAClBD,EAAMM,YACVhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAE5CjG,EAAM,IAAMA,IAEZA,EAAM2E,EAAEpF,SAAUoG,GACZhB,GAAMe,EAAMM,UAENN,EAAMM,YACjBhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAF3CjG,EAAM,GAIF0F,EAAMQ,OACVlG,EAAM0F,EAAMQ,KAAOlG,IAGP,KAAT2F,IACCD,EAAMS,YACVnG,EAAM,KAAOA,GAEdA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,EAAUlF,KAAMH,IAEJ,IAAT2F,GACCD,EAAMS,WAAiC,MAApBnG,EAAIoG,OAAQ,KACnCpG,EAAM,IAAMA,GAGPA,EC1ER,SAASuE,GAAUtE,GAClB,MAA0B,iBAAVA,ECVjB,IAAIoG,GAAMtE,KAAKsE,IACXhB,GAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAC7Bc,GAAU9B,OAAOlF,UAAUgH,QAK3BC,GAAoB,WACpBC,GAAoB,UACpBC,GAAiB,UACjBC,GAAuB,UACvBC,GAA0B,OAC1BC,GAAqB,QACrBC,GAAqB,gBAazB,SAASC,GAAcpB,GACtB,IAAIqB,EACA/G,EACAgH,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMtD,EAAUgC,EAAMG,KACrB,MAAM,IAAIzE,MAAO,yCAA2CpB,GAG7DgH,EAAItB,EAAMG,IAEX,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJ5F,EAAMgH,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJhG,EAAMgH,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,GAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEX/G,EAAMgH,EAAEE,cAAeH,IAEvB/G,EAAMgH,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACXnG,EAAMsG,GAAQnG,KAAMH,EAAK6G,GAAoB,OAC7C7G,EAAMsG,GAAQnG,KAAMH,EAAK4G,GAAoB,KAC7C5G,EAAMsG,GAAQnG,KAAMH,EAAK2G,GAAyB,KAEnD,MACD,QACC,MAAM,IAAIvF,MAAO,mCAAqCsE,EAAME,WAc7D,OAZA5F,EAAMsG,GAAQnG,KAAMH,EAAKuG,GAAmB,SAC5CvG,EAAMsG,GAAQnG,KAAMH,EAAKwG,GAAmB,SACvCd,EAAMS,YACVnG,EAAMsG,GAAQnG,KAAMH,EAAKyG,GAAgB,OACzCzG,EAAMsG,GAAQnG,KAAMH,EAAK0G,GAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpBlG,EAAM0F,EAAMQ,KAAOlG,GAEpBA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,GAAUlF,KAAMH,GC1ElB,SAASqH,GAAQ3C,GAChB,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,EAeR,SAASsH,GAAUzC,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAMwC,GAAQpC,GACdoC,GAAQpC,GAAQJ,EC1BlB,IAAI0C,GAAe/C,OAAO+C,aACtBC,GAAQC,MACRC,GAAUC,MAAMD,QAYpB,SAASE,GAAYlC,GACpB,IAAI1F,EAAM,GAMV,OALAA,EAAI4F,UAAYF,EAAME,UACtB5F,EAAIgG,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DhG,EAAI8E,MAAQY,EAAMZ,MAClB9E,EAAI6H,MAAQnC,EAAMmC,OAAS,GAC3B7H,EAAI8H,QAAUpC,EAAMoC,QACb9H,EAoBR,SAAS+H,GAAmBC,GAC3B,IAAIC,EACAJ,EACAnC,EACAwC,EACAC,EACAnI,EACAoI,EACAzD,EACA0D,EAEJ,IAAMX,GAASM,GACd,MAAM,IAAI9E,UAAW,8DAAgE8E,EAAS,MAI/F,IAFAhI,EAAM,GACNoI,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GAAKJ,GADLmB,EAAQsC,EAAQrD,IAEf3E,GAAO0F,MACD,CAGN,GAFAuC,OAAgC,IAApBvC,EAAMM,YAClBN,EAAQkC,GAAYlC,IACRE,UACX,MAAM,IAAI1C,UAAW,oEAAqEyB,EAAG,cAAgBe,EAAQ,MAMtH,IAJKA,EAAMoC,UACVM,EAAM1C,EAAMoC,SAEbD,EAAQnC,EAAMmC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMzB,OAAQiC,IAErB,IAAK,IACJ3C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWT,EAAMU,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI/E,MAAO,iBAAmB8G,GAGtC,GAAqB,MAAhBxC,EAAMZ,MAAgB,CAG1B,GAFAY,EAAMZ,MAAQgB,SAAU0C,UAAWJ,GAAO,IAC1CA,GAAO,EACFZ,GAAO9B,EAAMZ,OACjB,MAAM,IAAI5B,UAAW,wCAA0CkF,EAAM,6BAA+B1C,EAAMZ,MAAQ,MAE9GY,EAAMZ,MAAQ,IAClBY,EAAMO,UAAW,EACjBP,EAAMZ,OAASY,EAAMZ,OAGvB,GAAKmD,GACqB,MAApBvC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWJ,GAAO,IAC9CA,GAAO,EACFZ,GAAO9B,EAAMM,WACjB,MAAM,IAAI9C,UAAW,4CAA8CkF,EAAM,6BAA+B1C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBiC,GAAY,GAKf,OADAvC,EAAMG,IAAM2C,UAAWJ,GACd1C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECqC,IACJvC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,GAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMwB,GAAO9B,EAAMG,KAAQ,CAE1B,IADAsC,EAAMrC,SAAUJ,EAAMG,IAAK,KAChB,GAAKsC,EAAM,IACrB,MAAM,IAAI/G,MAAO,kCAAoCsE,EAAMG,KAE5DH,EAAMG,IAAQ2B,GAAOW,GACpB3D,OAAQkB,EAAMG,KACd0B,GAAcY,GAEhB,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLvC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,GAAcpB,GAC1B,MACD,QACC,MAAM,IAAItE,MAAO,sBAAwBsE,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIX,OAASQ,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMjB,EAASc,EAAMG,IAAKH,EAAMZ,OAASY,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMZ,QACjBY,EAAMG,IAAMyB,GAAU5B,EAAMG,IAAKH,EAAMZ,MAAOY,EAAMO,WAErDjG,GAAO0F,EAAMG,KAAO,GACpBuC,GAAO,EAGT,OAAOpI,EC1LR,IAAI2I,GAAK,6EAYT,SAASC,GAAOC,GACf,IAAInD,EAAQ,CACXoC,QAAae,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDhB,MAASgB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,EAgBR,SAASoD,GAAgBjE,GACxB,IAAIkE,EACAf,EACAa,EACAG,EAKJ,IAHAhB,EAAS,GACTgB,EAAO,EACPH,EAAQF,GAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,GAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ8C,EAAOoB,KAAML,GAEdf,EAAOoB,KAAMR,GAAOC,IACpBG,EAAOL,GAAGQ,UACVN,EAAQF,GAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ8C,EAAOoB,KAAML,GAEPf,ECjDR,SAASzD,GAAUtE,GAClB,MAA0B,iBAAVA,ECWjB,SAASoJ,GAAQxE,GAChB,IAAImD,EACAsB,EACA3E,EAEJ,IAAMJ,GAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAKjG,IAHAmD,EAASuB,GAAU1E,IACnByE,EAAO,IAAI3B,MAAOa,UAAUtD,SACtB,GAAM8C,EACNrD,EAAI,EAAGA,EAAI2E,EAAKpE,OAAQP,IAC7B2E,EAAM3E,GAAM6D,UAAW7D,GAExB,OAAO6E,GAAYC,MAAO,KAAMH,GC+BjC,SAASI,GAAQ7E,EAAKH,GACrB,IAAIiF,EACAC,EACJ,IAAMrF,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBI,GAC3B,MAAM,IAAIxB,UAAWmG,GAAQ,gFAAiF3E,IAE/G,GAAoB,IAAfG,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAGR,GAAKG,EAAIK,OAASR,ECrDY,iBDsD7B,MAAM,IAAImF,WAAYR,GAAQ,6FAA8FxE,EAAIK,OAASR,IAI1I,IAFAiF,EAAM,GACNC,EAAMlF,EAGY,IAAP,EAAJkF,KACLD,GAAO9E,GAIK,KADb+E,KAAS,IAKT/E,GAAOA,EAER,OAAO8E,EE9ER,IAAIG,GAAO/H,KAAK+H,KCMhB,SAASC,GAAM5F,GAKd,IAJA,IACI6F,EADAnF,EAAM,GAIFV,EAAI,GAIVU,GAHDmF,EAAI7F,EAAI,MACRA,EAAIrC,EAAOkI,IAEJ,IAAMnF,EAEN,IAAMA,EAGd,OAAOA,EC+BR,SAASoF,GAAiB9F,GACzB,IAAI+F,EACAhE,EACArB,EACAsF,EACAzF,EACAsC,EACArC,EASJ,GALCuB,EADI/B,EAAI,GAAO,EAAIA,IAAMtC,EAClB,IAEA,IAGHsC,IAAMlD,GAAQkD,IAAMtC,EAIxB,OAAOqE,GAFPiE,EAAMT,GAAQ,IA3EQ,KA4EtB7E,EAAM6E,GAAQ,IA7EW,KAiF1B,GAAKvF,GAAMA,EAIV,OAAO+B,GAFPiE,EAAMT,GAAQ,IAlFQ,KAmFtB7E,EAAM,IAAM6E,GAAQ,IAAKU,KAI1B,GAAW,IAANjG,EAIJ,OAAO+B,GAFPiE,EAAMT,GAAQ,IAzFQ,KA0FtB7E,EAAM6E,GAAQ,IA3FW,KA2G1B,GAPA1C,GANA7C,ECnFD,SAAcA,GACb,OAAOpC,KAAKsE,IAAKlC,GDkFbkC,CAAKlC,KAGTO,EAAI5C,EAAOqC,IAMXO,EAAIqF,GAAMrF,GACVsC,EElGD,SAAgB7C,GACf,IAAIU,EACAmF,EACArF,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAANV,EACJ,OAAOU,EAKR,IAHAwD,EA/Bc,IAkCR1D,EAAI,EAAGA,EAlCC,OAmCbqF,EAAQ,EAAJ7F,IACM,GACTA,EAAI6F,EAAI,EACRnF,GAAO,IAtCK,MAuCPwD,IACJA,EAAI1D,KAGLR,EAAI6F,EACJnF,GAAO,OAGG,IAANmF,GAAarF,EAAE0D,EA9CP,KAiCa1D,KAkB3B,OAAOE,EFmEHwF,CAAOrD,GAGNtC,EAEJyF,EAAMzF,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIqC,EAAE9B,OAAQP,IAC1B,GAAgB,MAAXqC,EAAGrC,GAAc,CACrBuF,EAAQvF,EAAI,EACZ,MAIFwF,GAAOD,EAwBR,OArBArF,EAAMH,EAAIsC,EACLmD,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTzF,EAAMA,EAAI6D,UAAWwB,IAGrBrF,EAAMA,EAAI6D,UAAW,GAItByB,EItHD,SAAetF,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,sEAGvBW,EAAI,IAEL,GAAKD,EPzByB,iBO0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGD6E,GAAQc,EADf9F,EAAIoF,GAAMpF,IACcG,EJ0FlB4F,CADNN,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpCtF,EKzHD,SAAeA,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,kEAGvBW,EAAI,IAEL,GAAKD,ERzByB,iBQ0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGDA,EAAM6E,GAAQc,EADrB9F,EAAIoF,GAAMpF,IL8FJgG,CAAM7F,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IA+InBxC,EAAOiE,EAAMtF"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index 4307faf..0000000 --- a/stats.html +++ /dev/null @@ -1,2689 +0,0 @@ - - - - - - - - RollUp Visualizer - - - -
- - - - - From d34435c34a29b86e634fe24674cbca70fd0db594 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Tue, 1 Nov 2022 19:06:52 +0000 Subject: [PATCH 028/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 49 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 62 - .github/workflows/cancel.yml | 56 - .github/workflows/close_pull_requests.yml | 44 - .github/workflows/examples.yml | 62 - .github/workflows/npm_downloads.yml | 108 - .github/workflows/productionize.yml | 760 ---- .github/workflows/publish.yml | 117 - .github/workflows/test.yml | 92 - .github/workflows/test_bundles.yml | 180 - .github/workflows/test_coverage.yml | 123 - .github/workflows/test_install.yml | 83 - .gitignore | 178 - .npmignore | 227 -- .npmrc | 28 - CHANGELOG.md | 5 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 --- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 4044 +++++++++++++++++++++ test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 45 files changed, 4063 insertions(+), 3945 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0fd4d6c..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index 9b41c6f..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2022-11-01T01:35:14.910Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 06a9a75..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index a00dbe5..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,56 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - uses: styfle/cancel-workflow-action@0.11.0 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index 576054a..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,44 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 7902a7d..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout the repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 0bf9073..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,108 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - uses: actions/upload-artifact@v3 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - uses: distributhor/workflow-webhook@v3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 9113bfe..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,760 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - uses: actions/checkout@v3 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Format error messages: - - name: 'Replace double quotes with single quotes in rewritten format string error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\( \"([a-zA-Z0-9]+)\"/Error\( format\( '\1'/g" {} \; - - # Format string literal error messages: - - name: 'Replace double quotes with single quotes in rewritten string literal error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\(\"([a-zA-Z0-9]+)\"\)/Error\( format\( '\1' \)/g" {} \; - - # Format code: - - name: 'Replace double quotes with single quotes in inserted `require` calls' - run: | - find . -name "*.js" -exec sed -E -i "s/require\( ?\"@stdlib\/error-tools-fmtprodmsg\" ?\);/require\( '@stdlib\/error-tools-fmtprodmsg' \);/g" {} \; - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\"/\"@stdlib\/error-tools-fmtprodmsg\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^0.0.x'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - uses: act10ns/slack@v1 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From f851229bc76ebf54aa9c6fd5d11995a6541e56e2 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Fri, 4 Nov 2022 00:20:42 +0000 Subject: [PATCH 029/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b89a991..36dde03 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.0.x", "@stdlib/string-left-pad": "^0.0.x", "@stdlib/string-repeat": "^0.0.x", - "@stdlib/string-right-pad": "^0.0.x" + "@stdlib/string-right-pad": "^0.0.x", + "@stdlib/error-tools-fmtprodmsg": "^0.0.x" }, "devDependencies": { "@stdlib/assert-is-string": "^0.0.x", @@ -98,4 +99,4 @@ "type": "patreon", "url": "https://www.patreon.com/athan" } -} +} \ No newline at end of file From 821f9957a279f94dfc0faaf516836c142709d868 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Fri, 4 Nov 2022 16:40:45 +0000 Subject: [PATCH 030/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 4044 ---------------------------------------------------- 4 files changed, 4127 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 1881a26..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 2.0 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 09537e2..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2022 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol.toStringTag:"";i=e()?function(r){var e,i,o,u,c;if(null==r)return t.call(r);i=r[a],c=a,e=null!=(u=r)&&n.call(u,c);try{r[a]=void 0}catch(e){return t.call(r)}return o=t.call(r),e?r[a]=i:delete r[a],o}:function(r){return t.call(r)};var o=i,u="function"==typeof Float32Array;var c=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var s="function"==typeof Float32Array?Float32Array:void 0;var f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(u&&t instanceof Float32Array||"[object Float32Array]"===o(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===c}catch(e){r=!1}return r}()?s:function(){throw new Error("not implemented")},g="function"==typeof Uint32Array;var p="function"==typeof Uint32Array?Uint32Array:null;var h="function"==typeof Uint32Array?Uint32Array:void 0;var d=function(){var r,e,t;if("function"!=typeof p)return!1;try{e=new p(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(g&&t instanceof Uint32Array||"[object Uint32Array]"===o(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?h:function(){throw new Error("not implemented")},v=new f(1);new d(v.buffer)[0]=2139095040;var m=v[0],w=new f(1);new d(w.buffer)[0]=4286578688;var y=w[0];var b=Math.floor,E="function"==typeof Object.defineProperty?Object.defineProperty:null;var _=Object.defineProperty,S=Object.prototype,T=S.toString,x=S.__defineGetter__,V=S.__defineSetter__,A=S.__lookupGetter__,j=S.__lookupSetter__;var F=function(){try{return E({},"x",{}),!0}catch(r){return!1}}()?_:function(r,e,t){var n,i,a,o;if("object"!=typeof r||null===r||"[object Array]"===T.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof t||null===t||"[object Array]"===T.call(t))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+t+"`.");if((i="value"in t)&&(A.call(r,e)||j.call(r,e)?(n=r.__proto__,r.__proto__=S,delete r[e],r[e]=t.value,r.__proto__=n):r[e]=t.value),a="get"in t,o="set"in t,i&&(a||o))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return a&&x&&x.call(r,e,t.get),o&&V&&V.call(r,e,t.set),r};function k(r,e,t){F(r,e,{configurable:!1,enumerable:!1,writable:!1,value:t})}function O(r){return"number"==typeof r}var I=Number,P=I.prototype.toString;var R=e();function N(r){return"object"==typeof r&&(r instanceof I||(R?function(r){try{return P.call(r),!0}catch(r){return!1}}(r):"[object Number]"===o(r)))}function $(r){return O(r)||N(r)}k($,"isPrimitive",O),k($,"isObject",N);var U=I.NEGATIVE_INFINITY;function C(r){return rU&&b(e=r)===e;var e}function G(r){return O(r)&&C(r)}function Z(r){return N(r)&&C(r.valueOf())}function M(r){return G(r)||Z(r)}function W(r){return G(r)&&r>=0}function L(r){return Z(r)&&r.valueOf()>=0}function X(r){return W(r)||L(r)}function Y(r){return"string"==typeof r}k(M,"isPrimitive",G),k(M,"isObject",Z),k(X,"isPrimitive",W),k(X,"isObject",L);var z=String.prototype.valueOf;var q=e();function B(r){return"object"==typeof r&&(r instanceof String||(q?function(r){try{return z.call(r),!0}catch(r){return!1}}(r):"[object String]"===o(r)))}function D(r){return Y(r)||B(r)}k(D,"isPrimitive",Y),k(D,"isObject",B);function H(r){return"number"==typeof r}function J(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=or.call(t,pr,"$1e"),t=or.call(t,gr,"e"),t=or.call(t,fr,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=or.call(t,ur,"e+0$1"),t=or.call(t,cr,"e-0$1"),r.alternate&&(t=or.call(t,lr,"$1."),t=or.call(t,sr,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===ar.call(r.specifier)?ar.call(t):ir.call(t)}function dr(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=wr(a)?String(n.arg):mr(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=hr(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=K(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=vr(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var _r=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Sr(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function Tr(r){var e,t,n,i;for(t=[],i=0,n=_r.exec(r);n;)(e=r.slice(i,_r.lastIndex-n[0].length)).length&&t.push(e),t.push(Sr(n)),i=_r.lastIndex,n=_r.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function xr(r){return"string"==typeof r}function Vr(r){var e,t,n;if(!xr(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=Tr(r),(t=new Array(arguments.length))[0]=e,n=1;n9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",r.length*e));for(t="",n=e;1==(1&n)&&(t+=r),0!==(n>>>=1);)r+=r;return t}var jr=Math.ceil;function Fr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=b(e))?"0"+t:"1"+t;return t}function kr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===y?"1":"0",r===m||r===y)return t+(i=Ar("1",8))+(n=Ar("0",23));if(r!=r)return t+(i=Ar("1",8))+(n="1"+Ar("0",22));if(0===r)return t+(i=Ar("0",8))+(n=Ar("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=b(r)),a=Fr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:Ar(i,n=jr(n))+r}(i=Fr(i+127),8,"0"),n=function(r,e,t){var n,i;if(!Y(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!W(e))throw new TypeError(Vr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:r+Ar(i,n=jr(n))}(n,23,"0").substring(0,23),t+i+n}export{kr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 9228af1..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/native_class.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/number.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/is_integer.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/string-repeat/lib/repeat.js","../node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/math-base-special-ceil/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/left_pad.js","../node_modules/@stdlib/string-right-pad/lib/right_pad.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support' ;\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class' ;\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport builtin from './native_class.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property' ;\nimport toStringTag from './tostringtag.js' ;\nimport toStr from './tostring.js' ;\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js' ;\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class' ;\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf' ;\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32' ;\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support' ;\nimport builtin from './float32array.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array' ;\nimport PINF from '@stdlib/constants-float64-pinf' ;\nimport GlobalFloat32Array from './float32array.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class' ;\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max' ;\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32' ;\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support' ;\nimport builtin from './uint32array.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array' ;\nimport UINT32_MAX from '@stdlib/constants-uint32-max' ;\nimport GlobalUint32Array from './uint32array.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf' ;\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32' ;\nimport Uint32Array from '@stdlib/array-uint32' ;\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf' ;\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32' ;\nimport Uint32Array from '@stdlib/array-uint32' ;\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property' ;\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js' ;\nimport builtin from './builtin.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property' ;\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor' ;\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport nativeClass from '@stdlib/utils-native-class' ;\nimport Number from '@stdlib/number-ctor' ;\nimport test from './try2serialize.js' ;\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js' ; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isNumber from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf' ;\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor' ;\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf' ;\nimport NINF from '@stdlib/constants-float64-ninf' ;\nimport isInt from '@stdlib/math-base-assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor' ;\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number' ;\nimport isInt from './integer.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number' ;\nimport isInt from './integer.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isInteger from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isNonNegativeInteger from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport nativeClass from '@stdlib/utils-native-class' ;\nimport test from './try2valueof.js' ;\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js' ; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isString from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js' ;\nimport zeroPad from './zero_pad.js' ;\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js' ;\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js' ;\nimport isString from './is_string.js' ;\nimport formatDouble from './format_double.js' ;\nimport spacePad from './space_pad.js' ;\nimport zeroPad from './zero_pad.js' ;\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate' ;\nimport tokenize from '@stdlib/string-base-format-tokenize' ;\nimport isString from './is_string.js' ;\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\nimport format from '@stdlib/string-format' ;\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', str.length * n ) );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor' ;\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf' ;\nimport NINF from '@stdlib/constants-float32-ninf' ;\nimport BIAS from '@stdlib/constants-float32-exponent-bias' ;\nimport abs from '@stdlib/math-base-special-abs' ;\nimport floor from '@stdlib/math-base-special-floor' ;\nimport rpad from '@stdlib/string-right-pad' ;\nimport lpad from '@stdlib/string-left-pad' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport div2 from './div2.js' ;\nimport mult2 from './mult2.js' ;\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf' ;\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf' ;\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias' ;\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport ceil from '@stdlib/math-base-special-ceil' ;\nimport format from '@stdlib/string-format' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport ceil from '@stdlib/math-base-special-ceil' ;\nimport format from '@stdlib/string-format' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","nativeClass","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass$1","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","main","ctor","Float32Array$1","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","hasUint32Array","Uint32Array","Uint32Array$1","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","isNumber","Number$1","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","String","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","repeat","rpt","cnt","RangeError","ceil","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","len","p","lpad","rpad"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA+B,mBAAXV,OAA0BA,OAAOE,YAAc,GC8BtEO,EADIE,ICDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EHHgBC,EAAOC,EGK3B,GAAKL,QACJ,OAAOT,EAAMe,KAAMN,GAEpBE,EAAMF,EAAGV,GHRkBe,EGSJf,EAAvBW,EHPCG,OAFmBA,EGSAJ,IHFbL,EAAIW,KAAMF,EAAOC,GGKxB,IACCL,EAAGV,QAAgB,CAGnB,CAFC,MAAQiB,GACT,OAAOhB,EAAMe,KAAMN,EACnB,CAQD,OAPAG,EAAMZ,EAAMe,KAAMN,GAEbC,EACJD,EAAGV,GAAgBY,SAEZF,EAAGV,GAEJa,CACR,EC3BA,SAAsBH,GACrB,OAAOT,EAAMe,KAAMN,EACpB,EFUA,IAAAQ,EAAeX,EGjCXY,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBC,EAAiC,mBAAjBJ,aAAgCA,aAAe,KCAnE,IAAIK,EAAiC,mBAAjBL,aAAgCA,kBAAe,EC6BnE,IAAAM,ECbA,WACC,IAAIC,EACAC,ELMoBd,EKJxB,GAAmC,mBAAvBe,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bf,EKGNc,EADjBD,GLAER,GAAmBL,aAAiBM,cACb,0BAAzBb,EAAaO,KKCC,IAAbc,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAId,CAFC,MAAQb,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECJIC,EAA0C,mBAAhBC,YC4B9B,ICjCIX,EAAgC,mBAAhBW,YAA+BA,YAAc,KCAjE,IAAIV,EAAgC,mBAAhBU,YAA+BA,iBAAc,EC6BjE,IAAAC,ECbA,WACC,IAAIT,EACAC,ELMmBd,EKJvB,GAAkC,mBAAtBuB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBxB,EKINc,EADhBD,GLDEO,GAAkBpB,aAAiBqB,aACZ,yBAAzB5B,EAAaO,KKEC,IAAbc,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQX,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECQIO,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAX,EALIU,EAAc,GC9BdA,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbnB,EAA0C,mBAA1BtB,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eC/BxBC,EAAiB5C,OAAOC,UACxBF,EAAQ6C,EAAe1C,SACvB2C,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBC4BlC,IAAAC,ECpBA,WAEC,IAEC,OADAV,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ5B,GACT,OAAO,CACP,CACF,CDGKuC,GACaxB,EDgBlB,SAAyByB,EAAKC,EAAMC,GACnC,IAAIxD,EACAyD,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBxD,EAAMe,KAAMyC,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B1D,EAAMe,KAAM2C,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBR,EAAanC,KAAMyC,EAAKC,IACxBL,EAAarC,KAAMyC,EAAKC,IAGxBvD,EAAYsD,EAAIO,UAChBP,EAAIO,UAAYlB,SAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW7C,MAGzB2C,EAAIO,UAAY7D,GAEhBsD,EAAKC,GAASC,EAAW7C,OAG3B+C,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAI7B,MAAO,wHASlB,OANK4B,GAAUd,GACdA,EAAa/B,KAAMyC,EAAKC,EAAMC,EAAWM,KAErCH,GAAUb,GACdA,EAAajC,KAAMyC,EAAKC,EAAMC,EAAWO,KAEnCT,CACR,EGlEA,SAASU,EAA0BV,EAAKC,EAAM5C,GAC7C+B,EAAgBY,EAAKC,EAAM,CAC1BU,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxD,MAASA,GAEX,CCdA,SAASyD,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAA0D,EAAelD,OCMXlB,EAAWkB,EAAOnB,UAAUC,SCEhC,IAAIP,EAAMY,IAmBV,SAAS8D,EAAUzD,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,IAGjBzB,ECpBP,SAAeiB,GACd,IAEC,OADAV,EAASY,KAAMF,IACR,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDcUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEVA,SAASyD,EAAUzD,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCoBA8D,EAAAL,EAAA,cAAAG,GACAE,EAAAL,EAAA,WAAAI,GCnBA,IAAIE,EAAevD,EAAOwD,kBClB1B,SAASC,EAAWjE,GACnB,OACCA,EAAQgB,GACRhB,EAAQ4B,GCGDC,EADWqC,EDDXlE,KCEakE,EADtB,IAAoBA,CDCpB,CEAA,SAASD,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAET,CCLA,SAASiE,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAAMoE,UAEf,CCGA,SAASH,EAAWjE,GACnB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCXA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,GAAS,CAEX,CCLA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,EAAMoE,WAAa,CAErB,CCQA,SAASC,EAAsBrE,GAC9B,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCtBA,SAASsE,EAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCmCA8D,EAAAG,EAAA,cAAAL,GACAE,EAAAG,EAAA,WAAAJ,GCAAC,EAAAO,EAAA,cAAAT,GACAE,EAAAO,EAAA,WAAAR,GCpDA,IAAIO,EAAUG,OAAOlF,UAAU+E,QCQ/B,IAAIrF,EAAMY,IAmBV,SAAS2E,EAAUtE,GAClB,MAAsB,iBAAVA,IACNA,aAAiBuE,SAGjBxF,ECnBP,SAAeiB,GACd,IAEC,OADAoE,EAAQlE,KAAMF,IACP,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDaUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEjBA,SAASsE,EAAUtE,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCsBA8D,EAAAQ,EAAA,cAAAV,GACAE,EAAAQ,EAAA,WAAAT,GC7BA,SAASJ,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASwE,EAAOC,GACf,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAAS4E,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAajC,SAASC,GAAeC,GACvB,IAAIC,EACA3F,EACA2E,EAEJ,OAASe,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFA3F,EAAM0F,EAAMG,IACZlB,EAAImB,SAAU9F,EAAK,KACb+F,SAAUpB,GAAM,CACrB,IAAMjB,EAAU1D,GACf,MAAM,IAAIoB,MAAO,2BAA6BpB,GAE/C2E,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBe,EAAME,WAA8B,KAATD,KAC1ChB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACR3E,IAAS2E,GAAIpF,SAAUoG,GAClBD,EAAMM,YACVhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAE5CjG,EAAM,IAAMA,IAEZA,EAAM2E,EAAEpF,SAAUoG,GACZhB,GAAMe,EAAMM,UAENN,EAAMM,YACjBhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAF3CjG,EAAM,GAIF0F,EAAMQ,OACVlG,EAAM0F,EAAMQ,KAAOlG,IAGP,KAAT2F,IACCD,EAAMS,YACVnG,EAAM,KAAOA,GAEdA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,EAAUlF,KAAMH,IAEJ,IAAT2F,GACCD,EAAMS,WAAiC,MAApBnG,EAAIoG,OAAQ,KACnCpG,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAASuE,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAIoG,GAAMtE,KAAKsE,IACXhB,GAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAC7Bc,GAAU9B,OAAOlF,UAAUgH,QAK3BC,GAAoB,WACpBC,GAAoB,UACpBC,GAAiB,UACjBC,GAAuB,UACvBC,GAA0B,OAC1BC,GAAqB,QACrBC,GAAqB,gBAazB,SAASC,GAAcpB,GACtB,IAAIqB,EACA/G,EACAgH,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMtD,EAAUgC,EAAMG,KACrB,MAAM,IAAIzE,MAAO,yCAA2CpB,GAG7DgH,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJ5F,EAAMgH,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJhG,EAAMgH,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,GAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEX/G,EAAMgH,EAAEE,cAAeH,IAEvB/G,EAAMgH,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACXnG,EAAMsG,GAAQnG,KAAMH,EAAK6G,GAAoB,OAC7C7G,EAAMsG,GAAQnG,KAAMH,EAAK4G,GAAoB,KAC7C5G,EAAMsG,GAAQnG,KAAMH,EAAK2G,GAAyB,KAEnD,MACD,QACC,MAAM,IAAIvF,MAAO,mCAAqCsE,EAAME,WAc7D,OAZA5F,EAAMsG,GAAQnG,KAAMH,EAAKuG,GAAmB,SAC5CvG,EAAMsG,GAAQnG,KAAMH,EAAKwG,GAAmB,SACvCd,EAAMS,YACVnG,EAAMsG,GAAQnG,KAAMH,EAAKyG,GAAgB,OACzCzG,EAAMsG,GAAQnG,KAAMH,EAAK0G,GAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpBlG,EAAM0F,EAAMQ,KAAOlG,GAEpBA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,GAAUlF,KAAMH,EAElB,CC5EA,SAASqH,GAAQ3C,GAChB,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAASsH,GAAUzC,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAMwC,GAAQpC,GACdoC,GAAQpC,GAAQJ,CAElB,CC5BA,IAAI0C,GAAe/C,OAAO+C,aACtBC,GAAQC,MACRC,GAAUC,MAAMD,QAYpB,SAASE,GAAYlC,GACpB,IAAI1F,EAAM,CAAA,EAMV,OALAA,EAAI4F,UAAYF,EAAME,UACtB5F,EAAIgG,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DhG,EAAI8E,MAAQY,EAAMZ,MAClB9E,EAAI6H,MAAQnC,EAAMmC,OAAS,GAC3B7H,EAAI8H,QAAUpC,EAAMoC,QACb9H,CACR,CAmBA,SAAS+H,GAAmBC,GAC3B,IAAIC,EACAJ,EACAnC,EACAwC,EACAC,EACAnI,EACAoI,EACAzD,EACA0D,EAEJ,IAAMX,GAASM,GACd,MAAM,IAAI9E,UAAW,8DAAgE8E,EAAS,MAI/F,IAFAhI,EAAM,GACNoI,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GAAKJ,GADLmB,EAAQsC,EAAQrD,IAEf3E,GAAO0F,MACD,CAGN,GAFAuC,OAAgC,IAApBvC,EAAMM,YAClBN,EAAQkC,GAAYlC,IACRE,UACX,MAAM,IAAI1C,UAAW,oEAAqEyB,EAAG,cAAgBe,EAAQ,MAMtH,IAJKA,EAAMoC,UACVM,EAAM1C,EAAMoC,SAEbD,EAAQnC,EAAMmC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMzB,OAAQiC,IAErB,IAAK,IACJ3C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWT,EAAMU,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI/E,MAAO,iBAAmB8G,GAGtC,GAAqB,MAAhBxC,EAAMZ,MAAgB,CAG1B,GAFAY,EAAMZ,MAAQgB,SAAU0C,UAAWJ,GAAO,IAC1CA,GAAO,EACFZ,GAAO9B,EAAMZ,OACjB,MAAM,IAAI5B,UAAW,wCAA0CkF,EAAM,6BAA+B1C,EAAMZ,MAAQ,MAE9GY,EAAMZ,MAAQ,IAClBY,EAAMO,UAAW,EACjBP,EAAMZ,OAASY,EAAMZ,MAEtB,CACD,GAAKmD,GACqB,MAApBvC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWJ,GAAO,IAC9CA,GAAO,EACFZ,GAAO9B,EAAMM,WACjB,MAAM,IAAI9C,UAAW,4CAA8CkF,EAAM,6BAA+B1C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBiC,GAAY,EAEb,CAGF,OADAvC,EAAMG,IAAM2C,UAAWJ,GACd1C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECqC,IACJvC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,GAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMwB,GAAO9B,EAAMG,KAAQ,CAE1B,IADAsC,EAAMrC,SAAUJ,EAAMG,IAAK,KAChB,GAAKsC,EAAM,IACrB,MAAM,IAAI/G,MAAO,kCAAoCsE,EAAMG,KAE5DH,EAAMG,IAAQ2B,GAAOW,GACpB3D,OAAQkB,EAAMG,KACd0B,GAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLvC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,GAAcpB,GAC1B,MACD,QACC,MAAM,IAAItE,MAAO,sBAAwBsE,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIX,OAASQ,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMjB,EAASc,EAAMG,IAAKH,EAAMZ,OAASY,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMZ,QACjBY,EAAMG,IAAMyB,GAAU5B,EAAMG,IAAKH,EAAMZ,MAAOY,EAAMO,WAErDjG,GAAO0F,EAAMG,KAAO,GACpBuC,GAAO,CACP,CAEF,OAAOpI,CACR,CC3LA,IAAI2I,GAAK,6EAYT,SAASC,GAAOC,GACf,IAAInD,EAAQ,CACXoC,QAAae,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDhB,MAASgB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASoD,GAAgBjE,GACxB,IAAIkE,EACAf,EACAa,EACAG,EAKJ,IAHAhB,EAAS,GACTgB,EAAO,EACPH,EAAQF,GAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,GAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ8C,EAAOoB,KAAML,GAEdf,EAAOoB,KAAMR,GAAOC,IACpBG,EAAOL,GAAGQ,UACVN,EAAQF,GAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ8C,EAAOoB,KAAML,GAEPf,CACR,CClDA,SAASzD,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAASoJ,GAAQxE,GAChB,IAAImD,EACAsB,EACA3E,EAEJ,IAAMJ,GAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAKjG,IAHAmD,EAASuB,GAAU1E,IACnByE,EAAO,IAAI3B,MAAOa,UAAUtD,SACtB,GAAM8C,EACNrD,EAAI,EAAGA,EAAI2E,EAAKpE,OAAQP,IAC7B2E,EAAM3E,GAAM6D,UAAW7D,GAExB,OAAO6E,GAAYC,MAAO,KAAMH,EACjC,CC8BA,SAASI,GAAQ7E,EAAKH,GACrB,IAAIiF,EACAC,EACJ,IAAMrF,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBI,GAC3B,MAAM,IAAIxB,UAAWmG,GAAQ,gFAAiF3E,IAE/G,GAAoB,IAAfG,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAGR,GAAKG,EAAIK,OAASR,ECrDY,iBDsD7B,MAAM,IAAImF,WAAYR,GAAQ,6FAA8FxE,EAAIK,OAASR,IAI1I,IAFAiF,EAAM,GACNC,EAAMlF,EAGY,IAAP,EAAJkF,KACLD,GAAO9E,GAIK,KADb+E,KAAS,IAKT/E,GAAOA,EAER,OAAO8E,CACR,CE/EA,IAAIG,GAAO/H,KAAK+H,KCMhB,SAASC,GAAM5F,GAKd,IAJA,IACI6F,EADAnF,EAAM,GAIFV,EAAI,GAIVU,GAHDmF,EAAI7F,EAAI,MACRA,EAAIrC,EAAOkI,IAEJ,IAAMnF,EAEN,IAAMA,EAGd,OAAOA,CACR,CC8BA,SAASoF,GAAiB9F,GACzB,IAAI+F,EACAhE,EACArB,EACAsF,EACAzF,EACAsC,EACArC,EASJ,GALCuB,EADI/B,EAAI,GAAO,EAAIA,IAAMtC,EAClB,IAEA,IAGHsC,IAAMlD,GAAQkD,IAAMtC,EAIxB,OAAOqE,GAFPiE,EAAMT,GAAQ,IA3EQ,KA4EtB7E,EAAM6E,GAAQ,IA7EW,KAiF1B,GAAKvF,GAAMA,EAIV,OAAO+B,GAFPiE,EAAMT,GAAQ,IAlFQ,KAmFtB7E,EAAM,IAAM6E,GAAQ,IAAKU,KAI1B,GAAW,IAANjG,EAIJ,OAAO+B,GAFPiE,EAAMT,GAAQ,IAzFQ,KA0FtB7E,EAAM6E,GAAQ,IA3FW,KA2G1B,GAPA1C,GANA7C,ECnFD,SAAcA,GACb,OAAOpC,KAAKsE,IAAKlC,EAClB,CDiFKkC,CAAKlC,KAGTO,EAAI5C,EAAOqC,IAMXO,EAAIqF,GAAMrF,GACVsC,EElGD,SAAgB7C,GACf,IAAIU,EACAmF,EACArF,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAANV,EACJ,OAAOU,EAKR,IAHAwD,EA/Bc,IAkCR1D,EAAI,EAAGA,EAlCC,OAmCbqF,EAAQ,EAAJ7F,IACM,GACTA,EAAI6F,EAAI,EACRnF,GAAO,IAtCK,MAuCPwD,IACJA,EAAI1D,KAGLR,EAAI6F,EACJnF,GAAO,OAGG,IAANmF,GAAarF,EAAE0D,EA9CP,KAiCa1D,KAkB3B,OAAOE,CACR,CFkEKwF,CAAOrD,GAGNtC,EAEJyF,EAAMzF,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIqC,EAAE9B,OAAQP,IAC1B,GAAgB,MAAXqC,EAAGrC,GAAc,CACrBuF,EAAQvF,EAAI,EACZ,KACA,CAGFwF,GAAOD,CACP,CAuBD,OArBArF,EAAMH,EAAIsC,EACLmD,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTzF,EAAMA,EAAI6D,UAAWwB,IAGrBrF,EAAMA,EAAI6D,UAAW,GAItByB,EItHD,SAAetF,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,gEAEzB,MACEW,EAAI,IAEL,GAAKD,EPzByB,iBO0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGD6E,GAAQc,EADf9F,EAAIoF,GAAMpF,IACcG,CACzB,CJyFO4F,CADNN,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpCtF,EKzHD,SAAeA,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,4DAEzB,MACEW,EAAI,IAEL,GAAKD,ERzByB,iBQ0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGDA,EAAM6E,GAAQc,EADrB9F,EAAIoF,GAAMpF,GAEX,CL4FOgG,CAAM7F,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IA+InBxC,EAAOiE,EAAMtF,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index 063d768..0000000 --- a/stats.html +++ /dev/null @@ -1,4044 +0,0 @@ - - - - - - - - RollUp Visualizer - - - -
- - - - - From a23b808a3146e05aed672fe4cc98c316cefdab94 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Fri, 4 Nov 2022 16:41:55 +0000 Subject: [PATCH 031/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 49 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 62 - .github/workflows/cancel.yml | 56 - .github/workflows/close_pull_requests.yml | 44 - .github/workflows/examples.yml | 62 - .github/workflows/npm_downloads.yml | 108 - .github/workflows/productionize.yml | 781 ---- .github/workflows/publish.yml | 117 - .github/workflows/test.yml | 92 - .github/workflows/test_bundles.yml | 180 - .github/workflows/test_coverage.yml | 123 - .github/workflows/test_install.yml | 83 - .gitignore | 178 - .npmignore | 227 -- .npmrc | 28 - CHANGELOG.md | 5 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 --- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 4044 +++++++++++++++++++++ test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 45 files changed, 4063 insertions(+), 3966 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0fd4d6c..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index 16f39a2..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2022-11-03T22:19:56.830Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 06a9a75..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index a00dbe5..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,56 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - uses: styfle/cancel-workflow-action@0.11.0 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index 576054a..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,44 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 7902a7d..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout the repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 0bf9073..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,108 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - uses: actions/upload-artifact@v3 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - uses: distributhor/workflow-webhook@v3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 37ddb4f..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,781 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - uses: actions/checkout@v3 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Format error messages: - - name: 'Replace double quotes with single quotes in rewritten format string error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\( \"([a-zA-Z0-9]+)\"/Error\( format\( '\1'/g" {} \; - - # Format string literal error messages: - - name: 'Replace double quotes with single quotes in rewritten string literal error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\(\"([a-zA-Z0-9]+)\"\)/Error\( format\( '\1' \)/g" {} \; - - # Format code: - - name: 'Replace double quotes with single quotes in inserted `require` calls' - run: | - find . -name "*.js" -exec sed -E -i "s/require\( ?\"@stdlib\/error-tools-fmtprodmsg\" ?\);/require\( '@stdlib\/error-tools-fmtprodmsg' \);/g" {} \; - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\"/\"@stdlib\/error-tools-fmtprodmsg\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^0.0.x'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - uses: act10ns/slack@v1 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 60f58b403667abc1145c311d99f330a218975bc1 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 1 Dec 2022 04:13:58 +0000 Subject: [PATCH 032/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index a96c9b4..5e9ddbe 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.0.x", "@stdlib/string-left-pad": "^0.0.x", "@stdlib/string-repeat": "^0.0.x", - "@stdlib/string-right-pad": "^0.0.x" + "@stdlib/string-right-pad": "^0.0.x", + "@stdlib/error-tools-fmtprodmsg": "^0.0.x" }, "devDependencies": { "@stdlib/assert-is-string": "^0.0.x", @@ -98,4 +99,4 @@ "type": "patreon", "url": "https://www.patreon.com/athan" } -} +} \ No newline at end of file From e9ad48fdcf565138ad28321d5636157ebea6f1e9 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 1 Dec 2022 11:52:58 +0000 Subject: [PATCH 033/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 4044 ---------------------------------------------------- 4 files changed, 4127 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 1881a26..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 2.0 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 09537e2..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2022 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol.toStringTag:"";i=e()?function(r){var e,i,o,u,c;if(null==r)return t.call(r);i=r[a],c=a,e=null!=(u=r)&&n.call(u,c);try{r[a]=void 0}catch(e){return t.call(r)}return o=t.call(r),e?r[a]=i:delete r[a],o}:function(r){return t.call(r)};var o=i,u="function"==typeof Float32Array;var c=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var s="function"==typeof Float32Array?Float32Array:void 0;var f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(u&&t instanceof Float32Array||"[object Float32Array]"===o(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===c}catch(e){r=!1}return r}()?s:function(){throw new Error("not implemented")},g="function"==typeof Uint32Array;var p="function"==typeof Uint32Array?Uint32Array:null;var h="function"==typeof Uint32Array?Uint32Array:void 0;var d=function(){var r,e,t;if("function"!=typeof p)return!1;try{e=new p(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(g&&t instanceof Uint32Array||"[object Uint32Array]"===o(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?h:function(){throw new Error("not implemented")},v=new f(1);new d(v.buffer)[0]=2139095040;var m=v[0],w=new f(1);new d(w.buffer)[0]=4286578688;var y=w[0];var b=Math.floor,E="function"==typeof Object.defineProperty?Object.defineProperty:null;var _=Object.defineProperty,S=Object.prototype,T=S.toString,x=S.__defineGetter__,V=S.__defineSetter__,A=S.__lookupGetter__,j=S.__lookupSetter__;var F=function(){try{return E({},"x",{}),!0}catch(r){return!1}}()?_:function(r,e,t){var n,i,a,o;if("object"!=typeof r||null===r||"[object Array]"===T.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof t||null===t||"[object Array]"===T.call(t))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+t+"`.");if((i="value"in t)&&(A.call(r,e)||j.call(r,e)?(n=r.__proto__,r.__proto__=S,delete r[e],r[e]=t.value,r.__proto__=n):r[e]=t.value),a="get"in t,o="set"in t,i&&(a||o))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return a&&x&&x.call(r,e,t.get),o&&V&&V.call(r,e,t.set),r};function k(r,e,t){F(r,e,{configurable:!1,enumerable:!1,writable:!1,value:t})}function O(r){return"number"==typeof r}var I=Number,P=I.prototype.toString;var R=e();function N(r){return"object"==typeof r&&(r instanceof I||(R?function(r){try{return P.call(r),!0}catch(r){return!1}}(r):"[object Number]"===o(r)))}function $(r){return O(r)||N(r)}k($,"isPrimitive",O),k($,"isObject",N);var U=I.NEGATIVE_INFINITY;function C(r){return rU&&b(e=r)===e;var e}function G(r){return O(r)&&C(r)}function Z(r){return N(r)&&C(r.valueOf())}function M(r){return G(r)||Z(r)}function W(r){return G(r)&&r>=0}function L(r){return Z(r)&&r.valueOf()>=0}function X(r){return W(r)||L(r)}function Y(r){return"string"==typeof r}k(M,"isPrimitive",G),k(M,"isObject",Z),k(X,"isPrimitive",W),k(X,"isObject",L);var z=String.prototype.valueOf;var q=e();function B(r){return"object"==typeof r&&(r instanceof String||(q?function(r){try{return z.call(r),!0}catch(r){return!1}}(r):"[object String]"===o(r)))}function D(r){return Y(r)||B(r)}k(D,"isPrimitive",Y),k(D,"isObject",B);function H(r){return"number"==typeof r}function J(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=or.call(t,pr,"$1e"),t=or.call(t,gr,"e"),t=or.call(t,fr,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=or.call(t,ur,"e+0$1"),t=or.call(t,cr,"e-0$1"),r.alternate&&(t=or.call(t,lr,"$1."),t=or.call(t,sr,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===ar.call(r.specifier)?ar.call(t):ir.call(t)}function dr(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=wr(a)?String(n.arg):mr(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=hr(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=K(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=vr(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var _r=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Sr(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function Tr(r){var e,t,n,i;for(t=[],i=0,n=_r.exec(r);n;)(e=r.slice(i,_r.lastIndex-n[0].length)).length&&t.push(e),t.push(Sr(n)),i=_r.lastIndex,n=_r.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function xr(r){return"string"==typeof r}function Vr(r){var e,t,n;if(!xr(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=Tr(r),(t=new Array(arguments.length))[0]=e,n=1;n9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",r.length*e));for(t="",n=e;1==(1&n)&&(t+=r),0!==(n>>>=1);)r+=r;return t}var jr=Math.ceil;function Fr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=b(e))?"0"+t:"1"+t;return t}function kr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===y?"1":"0",r===m||r===y)return t+(i=Ar("1",8))+(n=Ar("0",23));if(r!=r)return t+(i=Ar("1",8))+(n="1"+Ar("0",22));if(0===r)return t+(i=Ar("0",8))+(n=Ar("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=b(r)),a=Fr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:Ar(i,n=jr(n))+r}(i=Fr(i+127),8,"0"),n=function(r,e,t){var n,i;if(!Y(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!W(e))throw new TypeError(Vr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:r+Ar(i,n=jr(n))}(n,23,"0").substring(0,23),t+i+n}export{kr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 9228af1..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/native_class.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/number.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/is_integer.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/string-repeat/lib/repeat.js","../node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/math-base-special-ceil/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/left_pad.js","../node_modules/@stdlib/string-right-pad/lib/right_pad.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support' ;\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class' ;\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport builtin from './native_class.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property' ;\nimport toStringTag from './tostringtag.js' ;\nimport toStr from './tostring.js' ;\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js' ;\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class' ;\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf' ;\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32' ;\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support' ;\nimport builtin from './float32array.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array' ;\nimport PINF from '@stdlib/constants-float64-pinf' ;\nimport GlobalFloat32Array from './float32array.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class' ;\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max' ;\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32' ;\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support' ;\nimport builtin from './uint32array.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array' ;\nimport UINT32_MAX from '@stdlib/constants-uint32-max' ;\nimport GlobalUint32Array from './uint32array.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf' ;\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32' ;\nimport Uint32Array from '@stdlib/array-uint32' ;\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf' ;\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32' ;\nimport Uint32Array from '@stdlib/array-uint32' ;\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property' ;\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js' ;\nimport builtin from './builtin.js' ;\nimport polyfill from './polyfill.js' ;\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js' ;\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property' ;\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor' ;\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport nativeClass from '@stdlib/utils-native-class' ;\nimport Number from '@stdlib/number-ctor' ;\nimport test from './try2serialize.js' ;\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js' ; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number' ;\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isNumber from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf' ;\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor' ;\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf' ;\nimport NINF from '@stdlib/constants-float64-ninf' ;\nimport isInt from '@stdlib/math-base-assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor' ;\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number' ;\nimport isInt from './integer.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number' ;\nimport isInt from './integer.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer' ;\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isInteger from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isNonNegativeInteger from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support' ;\nimport nativeClass from '@stdlib/utils-native-class' ;\nimport test from './try2valueof.js' ;\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js' ; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string' ;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property' ;\nimport isString from './main.js' ;\nimport isPrimitive from './primitive.js' ;\nimport isObject from './object.js' ;\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js' ;\nimport zeroPad from './zero_pad.js' ;\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js' ;\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js' ;\nimport isString from './is_string.js' ;\nimport formatDouble from './format_double.js' ;\nimport spacePad from './space_pad.js' ;\nimport zeroPad from './zero_pad.js' ;\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate' ;\nimport tokenize from '@stdlib/string-base-format-tokenize' ;\nimport isString from './is_string.js' ;\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\nimport format from '@stdlib/string-format' ;\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', str.length * n ) );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor' ;\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf' ;\nimport NINF from '@stdlib/constants-float32-ninf' ;\nimport BIAS from '@stdlib/constants-float32-exponent-bias' ;\nimport abs from '@stdlib/math-base-special-abs' ;\nimport floor from '@stdlib/math-base-special-floor' ;\nimport rpad from '@stdlib/string-right-pad' ;\nimport lpad from '@stdlib/string-left-pad' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport div2 from './div2.js' ;\nimport mult2 from './mult2.js' ;\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32' ;\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf' ;\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf' ;\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias' ;\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport ceil from '@stdlib/math-base-special-ceil' ;\nimport format from '@stdlib/string-format' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer' ;\nimport { isPrimitive as isString } from '@stdlib/assert-is-string' ;\nimport repeat from '@stdlib/string-repeat' ;\nimport ceil from '@stdlib/math-base-special-ceil' ;\nimport format from '@stdlib/string-format' ;\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer' ;\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","nativeClass","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass$1","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","main","ctor","Float32Array$1","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","hasUint32Array","Uint32Array","Uint32Array$1","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","isNumber","Number$1","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","String","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","repeat","rpt","cnt","RangeError","ceil","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","len","p","lpad","rpad"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA+B,mBAAXV,OAA0BA,OAAOE,YAAc,GC8BtEO,EADIE,ICDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EHHgBC,EAAOC,EGK3B,GAAKL,QACJ,OAAOT,EAAMe,KAAMN,GAEpBE,EAAMF,EAAGV,GHRkBe,EGSJf,EAAvBW,EHPCG,OAFmBA,EGSAJ,IHFbL,EAAIW,KAAMF,EAAOC,GGKxB,IACCL,EAAGV,QAAgB,CAGnB,CAFC,MAAQiB,GACT,OAAOhB,EAAMe,KAAMN,EACnB,CAQD,OAPAG,EAAMZ,EAAMe,KAAMN,GAEbC,EACJD,EAAGV,GAAgBY,SAEZF,EAAGV,GAEJa,CACR,EC3BA,SAAsBH,GACrB,OAAOT,EAAMe,KAAMN,EACpB,EFUA,IAAAQ,EAAeX,EGjCXY,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBC,EAAiC,mBAAjBJ,aAAgCA,aAAe,KCAnE,IAAIK,EAAiC,mBAAjBL,aAAgCA,kBAAe,EC6BnE,IAAAM,ECbA,WACC,IAAIC,EACAC,ELMoBd,EKJxB,GAAmC,mBAAvBe,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bf,EKGNc,EADjBD,GLAER,GAAmBL,aAAiBM,cACb,0BAAzBb,EAAaO,KKCC,IAAbc,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAId,CAFC,MAAQb,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECJIC,EAA0C,mBAAhBC,YC4B9B,ICjCIX,EAAgC,mBAAhBW,YAA+BA,YAAc,KCAjE,IAAIV,EAAgC,mBAAhBU,YAA+BA,iBAAc,EC6BjE,IAAAC,ECbA,WACC,IAAIT,EACAC,ELMmBd,EKJvB,GAAkC,mBAAtBuB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBxB,EKINc,EADhBD,GLDEO,GAAkBpB,aAAiBqB,aACZ,yBAAzB5B,EAAaO,KKEC,IAAbc,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQX,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECQIO,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAX,EALIU,EAAc,GC9BdA,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbnB,EAA0C,mBAA1BtB,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eC/BxBC,EAAiB5C,OAAOC,UACxBF,EAAQ6C,EAAe1C,SACvB2C,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBC4BlC,IAAAC,ECpBA,WAEC,IAEC,OADAV,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ5B,GACT,OAAO,CACP,CACF,CDGKuC,GACaxB,EDgBlB,SAAyByB,EAAKC,EAAMC,GACnC,IAAIxD,EACAyD,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBxD,EAAMe,KAAMyC,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B1D,EAAMe,KAAM2C,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBR,EAAanC,KAAMyC,EAAKC,IACxBL,EAAarC,KAAMyC,EAAKC,IAGxBvD,EAAYsD,EAAIO,UAChBP,EAAIO,UAAYlB,SAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW7C,MAGzB2C,EAAIO,UAAY7D,GAEhBsD,EAAKC,GAASC,EAAW7C,OAG3B+C,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAI7B,MAAO,wHASlB,OANK4B,GAAUd,GACdA,EAAa/B,KAAMyC,EAAKC,EAAMC,EAAWM,KAErCH,GAAUb,GACdA,EAAajC,KAAMyC,EAAKC,EAAMC,EAAWO,KAEnCT,CACR,EGlEA,SAASU,EAA0BV,EAAKC,EAAM5C,GAC7C+B,EAAgBY,EAAKC,EAAM,CAC1BU,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxD,MAASA,GAEX,CCdA,SAASyD,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAA0D,EAAelD,OCMXlB,EAAWkB,EAAOnB,UAAUC,SCEhC,IAAIP,EAAMY,IAmBV,SAAS8D,EAAUzD,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,IAGjBzB,ECpBP,SAAeiB,GACd,IAEC,OADAV,EAASY,KAAMF,IACR,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDcUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEVA,SAASyD,EAAUzD,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCoBA8D,EAAAL,EAAA,cAAAG,GACAE,EAAAL,EAAA,WAAAI,GCnBA,IAAIE,EAAevD,EAAOwD,kBClB1B,SAASC,EAAWjE,GACnB,OACCA,EAAQgB,GACRhB,EAAQ4B,GCGDC,EADWqC,EDDXlE,KCEakE,EADtB,IAAoBA,CDCpB,CEAA,SAASD,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAET,CCLA,SAASiE,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAAMoE,UAEf,CCGA,SAASH,EAAWjE,GACnB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCXA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,GAAS,CAEX,CCLA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,EAAMoE,WAAa,CAErB,CCQA,SAASC,EAAsBrE,GAC9B,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCtBA,SAASsE,EAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCmCA8D,EAAAG,EAAA,cAAAL,GACAE,EAAAG,EAAA,WAAAJ,GCAAC,EAAAO,EAAA,cAAAT,GACAE,EAAAO,EAAA,WAAAR,GCpDA,IAAIO,EAAUG,OAAOlF,UAAU+E,QCQ/B,IAAIrF,EAAMY,IAmBV,SAAS2E,EAAUtE,GAClB,MAAsB,iBAAVA,IACNA,aAAiBuE,SAGjBxF,ECnBP,SAAeiB,GACd,IAEC,OADAoE,EAAQlE,KAAMF,IACP,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDaUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEjBA,SAASsE,EAAUtE,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCsBA8D,EAAAQ,EAAA,cAAAV,GACAE,EAAAQ,EAAA,WAAAT,GC7BA,SAASJ,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASwE,EAAOC,GACf,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAAS4E,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAajC,SAASC,GAAeC,GACvB,IAAIC,EACA3F,EACA2E,EAEJ,OAASe,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFA3F,EAAM0F,EAAMG,IACZlB,EAAImB,SAAU9F,EAAK,KACb+F,SAAUpB,GAAM,CACrB,IAAMjB,EAAU1D,GACf,MAAM,IAAIoB,MAAO,2BAA6BpB,GAE/C2E,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBe,EAAME,WAA8B,KAATD,KAC1ChB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACR3E,IAAS2E,GAAIpF,SAAUoG,GAClBD,EAAMM,YACVhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAE5CjG,EAAM,IAAMA,IAEZA,EAAM2E,EAAEpF,SAAUoG,GACZhB,GAAMe,EAAMM,UAENN,EAAMM,YACjBhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAF3CjG,EAAM,GAIF0F,EAAMQ,OACVlG,EAAM0F,EAAMQ,KAAOlG,IAGP,KAAT2F,IACCD,EAAMS,YACVnG,EAAM,KAAOA,GAEdA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,EAAUlF,KAAMH,IAEJ,IAAT2F,GACCD,EAAMS,WAAiC,MAApBnG,EAAIoG,OAAQ,KACnCpG,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAASuE,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAIoG,GAAMtE,KAAKsE,IACXhB,GAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAC7Bc,GAAU9B,OAAOlF,UAAUgH,QAK3BC,GAAoB,WACpBC,GAAoB,UACpBC,GAAiB,UACjBC,GAAuB,UACvBC,GAA0B,OAC1BC,GAAqB,QACrBC,GAAqB,gBAazB,SAASC,GAAcpB,GACtB,IAAIqB,EACA/G,EACAgH,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMtD,EAAUgC,EAAMG,KACrB,MAAM,IAAIzE,MAAO,yCAA2CpB,GAG7DgH,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJ5F,EAAMgH,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJhG,EAAMgH,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,GAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEX/G,EAAMgH,EAAEE,cAAeH,IAEvB/G,EAAMgH,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACXnG,EAAMsG,GAAQnG,KAAMH,EAAK6G,GAAoB,OAC7C7G,EAAMsG,GAAQnG,KAAMH,EAAK4G,GAAoB,KAC7C5G,EAAMsG,GAAQnG,KAAMH,EAAK2G,GAAyB,KAEnD,MACD,QACC,MAAM,IAAIvF,MAAO,mCAAqCsE,EAAME,WAc7D,OAZA5F,EAAMsG,GAAQnG,KAAMH,EAAKuG,GAAmB,SAC5CvG,EAAMsG,GAAQnG,KAAMH,EAAKwG,GAAmB,SACvCd,EAAMS,YACVnG,EAAMsG,GAAQnG,KAAMH,EAAKyG,GAAgB,OACzCzG,EAAMsG,GAAQnG,KAAMH,EAAK0G,GAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpBlG,EAAM0F,EAAMQ,KAAOlG,GAEpBA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,GAAUlF,KAAMH,EAElB,CC5EA,SAASqH,GAAQ3C,GAChB,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAASsH,GAAUzC,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAMwC,GAAQpC,GACdoC,GAAQpC,GAAQJ,CAElB,CC5BA,IAAI0C,GAAe/C,OAAO+C,aACtBC,GAAQC,MACRC,GAAUC,MAAMD,QAYpB,SAASE,GAAYlC,GACpB,IAAI1F,EAAM,CAAA,EAMV,OALAA,EAAI4F,UAAYF,EAAME,UACtB5F,EAAIgG,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DhG,EAAI8E,MAAQY,EAAMZ,MAClB9E,EAAI6H,MAAQnC,EAAMmC,OAAS,GAC3B7H,EAAI8H,QAAUpC,EAAMoC,QACb9H,CACR,CAmBA,SAAS+H,GAAmBC,GAC3B,IAAIC,EACAJ,EACAnC,EACAwC,EACAC,EACAnI,EACAoI,EACAzD,EACA0D,EAEJ,IAAMX,GAASM,GACd,MAAM,IAAI9E,UAAW,8DAAgE8E,EAAS,MAI/F,IAFAhI,EAAM,GACNoI,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GAAKJ,GADLmB,EAAQsC,EAAQrD,IAEf3E,GAAO0F,MACD,CAGN,GAFAuC,OAAgC,IAApBvC,EAAMM,YAClBN,EAAQkC,GAAYlC,IACRE,UACX,MAAM,IAAI1C,UAAW,oEAAqEyB,EAAG,cAAgBe,EAAQ,MAMtH,IAJKA,EAAMoC,UACVM,EAAM1C,EAAMoC,SAEbD,EAAQnC,EAAMmC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMzB,OAAQiC,IAErB,IAAK,IACJ3C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWT,EAAMU,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI/E,MAAO,iBAAmB8G,GAGtC,GAAqB,MAAhBxC,EAAMZ,MAAgB,CAG1B,GAFAY,EAAMZ,MAAQgB,SAAU0C,UAAWJ,GAAO,IAC1CA,GAAO,EACFZ,GAAO9B,EAAMZ,OACjB,MAAM,IAAI5B,UAAW,wCAA0CkF,EAAM,6BAA+B1C,EAAMZ,MAAQ,MAE9GY,EAAMZ,MAAQ,IAClBY,EAAMO,UAAW,EACjBP,EAAMZ,OAASY,EAAMZ,MAEtB,CACD,GAAKmD,GACqB,MAApBvC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWJ,GAAO,IAC9CA,GAAO,EACFZ,GAAO9B,EAAMM,WACjB,MAAM,IAAI9C,UAAW,4CAA8CkF,EAAM,6BAA+B1C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBiC,GAAY,EAEb,CAGF,OADAvC,EAAMG,IAAM2C,UAAWJ,GACd1C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECqC,IACJvC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,GAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMwB,GAAO9B,EAAMG,KAAQ,CAE1B,IADAsC,EAAMrC,SAAUJ,EAAMG,IAAK,KAChB,GAAKsC,EAAM,IACrB,MAAM,IAAI/G,MAAO,kCAAoCsE,EAAMG,KAE5DH,EAAMG,IAAQ2B,GAAOW,GACpB3D,OAAQkB,EAAMG,KACd0B,GAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLvC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,GAAcpB,GAC1B,MACD,QACC,MAAM,IAAItE,MAAO,sBAAwBsE,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIX,OAASQ,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMjB,EAASc,EAAMG,IAAKH,EAAMZ,OAASY,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMZ,QACjBY,EAAMG,IAAMyB,GAAU5B,EAAMG,IAAKH,EAAMZ,MAAOY,EAAMO,WAErDjG,GAAO0F,EAAMG,KAAO,GACpBuC,GAAO,CACP,CAEF,OAAOpI,CACR,CC3LA,IAAI2I,GAAK,6EAYT,SAASC,GAAOC,GACf,IAAInD,EAAQ,CACXoC,QAAae,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDhB,MAASgB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASoD,GAAgBjE,GACxB,IAAIkE,EACAf,EACAa,EACAG,EAKJ,IAHAhB,EAAS,GACTgB,EAAO,EACPH,EAAQF,GAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,GAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ8C,EAAOoB,KAAML,GAEdf,EAAOoB,KAAMR,GAAOC,IACpBG,EAAOL,GAAGQ,UACVN,EAAQF,GAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ8C,EAAOoB,KAAML,GAEPf,CACR,CClDA,SAASzD,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAASoJ,GAAQxE,GAChB,IAAImD,EACAsB,EACA3E,EAEJ,IAAMJ,GAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAKjG,IAHAmD,EAASuB,GAAU1E,IACnByE,EAAO,IAAI3B,MAAOa,UAAUtD,SACtB,GAAM8C,EACNrD,EAAI,EAAGA,EAAI2E,EAAKpE,OAAQP,IAC7B2E,EAAM3E,GAAM6D,UAAW7D,GAExB,OAAO6E,GAAYC,MAAO,KAAMH,EACjC,CC8BA,SAASI,GAAQ7E,EAAKH,GACrB,IAAIiF,EACAC,EACJ,IAAMrF,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBI,GAC3B,MAAM,IAAIxB,UAAWmG,GAAQ,gFAAiF3E,IAE/G,GAAoB,IAAfG,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAGR,GAAKG,EAAIK,OAASR,ECrDY,iBDsD7B,MAAM,IAAImF,WAAYR,GAAQ,6FAA8FxE,EAAIK,OAASR,IAI1I,IAFAiF,EAAM,GACNC,EAAMlF,EAGY,IAAP,EAAJkF,KACLD,GAAO9E,GAIK,KADb+E,KAAS,IAKT/E,GAAOA,EAER,OAAO8E,CACR,CE/EA,IAAIG,GAAO/H,KAAK+H,KCMhB,SAASC,GAAM5F,GAKd,IAJA,IACI6F,EADAnF,EAAM,GAIFV,EAAI,GAIVU,GAHDmF,EAAI7F,EAAI,MACRA,EAAIrC,EAAOkI,IAEJ,IAAMnF,EAEN,IAAMA,EAGd,OAAOA,CACR,CC8BA,SAASoF,GAAiB9F,GACzB,IAAI+F,EACAhE,EACArB,EACAsF,EACAzF,EACAsC,EACArC,EASJ,GALCuB,EADI/B,EAAI,GAAO,EAAIA,IAAMtC,EAClB,IAEA,IAGHsC,IAAMlD,GAAQkD,IAAMtC,EAIxB,OAAOqE,GAFPiE,EAAMT,GAAQ,IA3EQ,KA4EtB7E,EAAM6E,GAAQ,IA7EW,KAiF1B,GAAKvF,GAAMA,EAIV,OAAO+B,GAFPiE,EAAMT,GAAQ,IAlFQ,KAmFtB7E,EAAM,IAAM6E,GAAQ,IAAKU,KAI1B,GAAW,IAANjG,EAIJ,OAAO+B,GAFPiE,EAAMT,GAAQ,IAzFQ,KA0FtB7E,EAAM6E,GAAQ,IA3FW,KA2G1B,GAPA1C,GANA7C,ECnFD,SAAcA,GACb,OAAOpC,KAAKsE,IAAKlC,EAClB,CDiFKkC,CAAKlC,KAGTO,EAAI5C,EAAOqC,IAMXO,EAAIqF,GAAMrF,GACVsC,EElGD,SAAgB7C,GACf,IAAIU,EACAmF,EACArF,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAANV,EACJ,OAAOU,EAKR,IAHAwD,EA/Bc,IAkCR1D,EAAI,EAAGA,EAlCC,OAmCbqF,EAAQ,EAAJ7F,IACM,GACTA,EAAI6F,EAAI,EACRnF,GAAO,IAtCK,MAuCPwD,IACJA,EAAI1D,KAGLR,EAAI6F,EACJnF,GAAO,OAGG,IAANmF,GAAarF,EAAE0D,EA9CP,KAiCa1D,KAkB3B,OAAOE,CACR,CFkEKwF,CAAOrD,GAGNtC,EAEJyF,EAAMzF,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIqC,EAAE9B,OAAQP,IAC1B,GAAgB,MAAXqC,EAAGrC,GAAc,CACrBuF,EAAQvF,EAAI,EACZ,KACA,CAGFwF,GAAOD,CACP,CAuBD,OArBArF,EAAMH,EAAIsC,EACLmD,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTzF,EAAMA,EAAI6D,UAAWwB,IAGrBrF,EAAMA,EAAI6D,UAAW,GAItByB,EItHD,SAAetF,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,gEAEzB,MACEW,EAAI,IAEL,GAAKD,EPzByB,iBO0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGD6E,GAAQc,EADf9F,EAAIoF,GAAMpF,IACcG,CACzB,CJyFO4F,CADNN,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpCtF,EKzHD,SAAeA,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,4DAEzB,MACEW,EAAI,IAEL,GAAKD,ERzByB,iBQ0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGDA,EAAM6E,GAAQc,EADrB9F,EAAIoF,GAAMpF,GAEX,CL4FOgG,CAAM7F,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IA+InBxC,EAAOiE,EAAMtF,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index 2dd647d..0000000 --- a/stats.html +++ /dev/null @@ -1,4044 +0,0 @@ - - - - - - - - RollUp Visualizer - - - -
- - - - - From 246611ea92186494d8124d328e925e734cc30c4d Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 1 Dec 2022 11:53:56 +0000 Subject: [PATCH 034/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 49 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 62 - .github/workflows/cancel.yml | 56 - .github/workflows/close_pull_requests.yml | 44 - .github/workflows/examples.yml | 62 - .github/workflows/npm_downloads.yml | 108 - .github/workflows/productionize.yml | 781 ---- .github/workflows/publish.yml | 117 - .github/workflows/test.yml | 92 - .github/workflows/test_bundles.yml | 180 - .github/workflows/test_coverage.yml | 123 - .github/workflows/test_install.yml | 83 - .gitignore | 183 - .npmignore | 227 -- .npmrc | 28 - CHANGELOG.md | 5 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 --- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 4044 +++++++++++++++++++++ test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 45 files changed, 4063 insertions(+), 3971 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0fd4d6c..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index 5c00195..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2022-12-01T02:09:36.987Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 06a9a75..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index a00dbe5..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,56 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - uses: styfle/cancel-workflow-action@0.11.0 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index 576054a..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,44 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 7902a7d..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout the repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 0bf9073..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,108 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - uses: actions/upload-artifact@v3 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - uses: distributhor/workflow-webhook@v3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 37ddb4f..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,781 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - uses: actions/checkout@v3 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Format error messages: - - name: 'Replace double quotes with single quotes in rewritten format string error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\( \"([a-zA-Z0-9]+)\"/Error\( format\( '\1'/g" {} \; - - # Format string literal error messages: - - name: 'Replace double quotes with single quotes in rewritten string literal error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\(\"([a-zA-Z0-9]+)\"\)/Error\( format\( '\1' \)/g" {} \; - - # Format code: - - name: 'Replace double quotes with single quotes in inserted `require` calls' - run: | - find . -name "*.js" -exec sed -E -i "s/require\( ?\"@stdlib\/error-tools-fmtprodmsg\" ?\);/require\( '@stdlib\/error-tools-fmtprodmsg' \);/g" {} \; - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\"/\"@stdlib\/error-tools-fmtprodmsg\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^0.0.x'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - uses: act10ns/slack@v1 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From f5ce7d805c03b6411057b1e93401f685b646096f Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 1 Jan 2023 03:20:31 +0000 Subject: [PATCH 035/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 69c1b08..7aab4ef 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.0.x", "@stdlib/string-left-pad": "^0.0.x", "@stdlib/string-repeat": "^0.0.x", - "@stdlib/string-right-pad": "^0.0.x" + "@stdlib/string-right-pad": "^0.0.x", + "@stdlib/error-tools-fmtprodmsg": "^0.0.x" }, "devDependencies": { "@stdlib/assert-is-string": "^0.0.x", @@ -98,4 +99,4 @@ "type": "patreon", "url": "https://www.patreon.com/athan" } -} +} \ No newline at end of file From 967d6a8e0d67acfaa7bdb6589cd06273b61a2813 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 1 Jan 2023 13:20:34 +0000 Subject: [PATCH 036/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 4044 ---------------------------------------------------- 4 files changed, 4127 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 1881a26..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 2.0 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 09537e2..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2022 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol.toStringTag:"";i=e()?function(r){var e,i,o,u,c;if(null==r)return t.call(r);i=r[a],c=a,e=null!=(u=r)&&n.call(u,c);try{r[a]=void 0}catch(e){return t.call(r)}return o=t.call(r),e?r[a]=i:delete r[a],o}:function(r){return t.call(r)};var o=i,u="function"==typeof Float32Array;var c=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var s="function"==typeof Float32Array?Float32Array:void 0;var f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(u&&t instanceof Float32Array||"[object Float32Array]"===o(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===c}catch(e){r=!1}return r}()?s:function(){throw new Error("not implemented")},g="function"==typeof Uint32Array;var p="function"==typeof Uint32Array?Uint32Array:null;var h="function"==typeof Uint32Array?Uint32Array:void 0;var d=function(){var r,e,t;if("function"!=typeof p)return!1;try{e=new p(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(g&&t instanceof Uint32Array||"[object Uint32Array]"===o(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?h:function(){throw new Error("not implemented")},v=new f(1);new d(v.buffer)[0]=2139095040;var m=v[0],w=new f(1);new d(w.buffer)[0]=4286578688;var y=w[0];var b=Math.floor,E="function"==typeof Object.defineProperty?Object.defineProperty:null;var _=Object.defineProperty,S=Object.prototype,T=S.toString,x=S.__defineGetter__,V=S.__defineSetter__,A=S.__lookupGetter__,j=S.__lookupSetter__;var F=function(){try{return E({},"x",{}),!0}catch(r){return!1}}()?_:function(r,e,t){var n,i,a,o;if("object"!=typeof r||null===r||"[object Array]"===T.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof t||null===t||"[object Array]"===T.call(t))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+t+"`.");if((i="value"in t)&&(A.call(r,e)||j.call(r,e)?(n=r.__proto__,r.__proto__=S,delete r[e],r[e]=t.value,r.__proto__=n):r[e]=t.value),a="get"in t,o="set"in t,i&&(a||o))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return a&&x&&x.call(r,e,t.get),o&&V&&V.call(r,e,t.set),r};function k(r,e,t){F(r,e,{configurable:!1,enumerable:!1,writable:!1,value:t})}function O(r){return"number"==typeof r}var I=Number,P=I.prototype.toString;var R=e();function N(r){return"object"==typeof r&&(r instanceof I||(R?function(r){try{return P.call(r),!0}catch(r){return!1}}(r):"[object Number]"===o(r)))}function $(r){return O(r)||N(r)}k($,"isPrimitive",O),k($,"isObject",N);var U=I.NEGATIVE_INFINITY;function C(r){return rU&&b(e=r)===e;var e}function G(r){return O(r)&&C(r)}function Z(r){return N(r)&&C(r.valueOf())}function M(r){return G(r)||Z(r)}function W(r){return G(r)&&r>=0}function L(r){return Z(r)&&r.valueOf()>=0}function X(r){return W(r)||L(r)}function Y(r){return"string"==typeof r}k(M,"isPrimitive",G),k(M,"isObject",Z),k(X,"isPrimitive",W),k(X,"isObject",L);var z=String.prototype.valueOf;var q=e();function B(r){return"object"==typeof r&&(r instanceof String||(q?function(r){try{return z.call(r),!0}catch(r){return!1}}(r):"[object String]"===o(r)))}function D(r){return Y(r)||B(r)}k(D,"isPrimitive",Y),k(D,"isObject",B);function H(r){return"number"==typeof r}function J(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=or.call(t,pr,"$1e"),t=or.call(t,gr,"e"),t=or.call(t,fr,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=or.call(t,ur,"e+0$1"),t=or.call(t,cr,"e-0$1"),r.alternate&&(t=or.call(t,lr,"$1."),t=or.call(t,sr,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===ar.call(r.specifier)?ar.call(t):ir.call(t)}function dr(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=wr(a)?String(n.arg):mr(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=hr(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=K(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=vr(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var _r=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Sr(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function Tr(r){var e,t,n,i;for(t=[],i=0,n=_r.exec(r);n;)(e=r.slice(i,_r.lastIndex-n[0].length)).length&&t.push(e),t.push(Sr(n)),i=_r.lastIndex,n=_r.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function xr(r){return"string"==typeof r}function Vr(r){var e,t,n;if(!xr(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=Tr(r),(t=new Array(arguments.length))[0]=e,n=1;n9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",r.length*e));for(t="",n=e;1==(1&n)&&(t+=r),0!==(n>>>=1);)r+=r;return t}var jr=Math.ceil;function Fr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=b(e))?"0"+t:"1"+t;return t}function kr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===y?"1":"0",r===m||r===y)return t+(i=Ar("1",8))+(n=Ar("0",23));if(r!=r)return t+(i=Ar("1",8))+(n="1"+Ar("0",22));if(0===r)return t+(i=Ar("0",8))+(n=Ar("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=b(r)),a=Fr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:Ar(i,n=jr(n))+r}(i=Fr(i+127),8,"0"),n=function(r,e,t){var n,i;if(!Y(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!W(e))throw new TypeError(Vr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:r+Ar(i,n=jr(n))}(n,23,"0").substring(0,23),t+i+n}export{kr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 9d358cc..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/native_class.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/number.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/is_integer.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/string-repeat/lib/repeat.js","../node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/math-base-special-ceil/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/left_pad.js","../node_modules/@stdlib/string-right-pad/lib/right_pad.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './native_class.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './float32array.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './uint32array.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isNumber from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isInteger from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isNonNegativeInteger from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isString from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport format from '@stdlib/string-format';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', str.length * n ) );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport repeat from '@stdlib/string-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport repeat from '@stdlib/string-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","nativeClass","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass$1","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","main","ctor","Float32Array$1","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","hasUint32Array","Uint32Array","Uint32Array$1","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","isNumber","Number$1","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","String","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","repeat","rpt","cnt","RangeError","ceil","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","len","p","lpad","rpad"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA+B,mBAAXV,OAA0BA,OAAOE,YAAc,GC8BtEO,EADIE,ICDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EHHgBC,EAAOC,EGK3B,GAAKL,QACJ,OAAOT,EAAMe,KAAMN,GAEpBE,EAAMF,EAAGV,GHRkBe,EGSJf,EAAvBW,EHPCG,OAFmBA,EGSAJ,IHFbL,EAAIW,KAAMF,EAAOC,GGKxB,IACCL,EAAGV,QAAgB,CAGnB,CAFC,MAAQiB,GACT,OAAOhB,EAAMe,KAAMN,EACnB,CAQD,OAPAG,EAAMZ,EAAMe,KAAMN,GAEbC,EACJD,EAAGV,GAAgBY,SAEZF,EAAGV,GAEJa,CACR,EC3BA,SAAsBH,GACrB,OAAOT,EAAMe,KAAMN,EACpB,EFUA,IAAAQ,EAAeX,EGjCXY,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBC,EAAiC,mBAAjBJ,aAAgCA,aAAe,KCAnE,IAAIK,EAAiC,mBAAjBL,aAAgCA,kBAAe,EC6BnE,IAAAM,ECbA,WACC,IAAIC,EACAC,ELMoBd,EKJxB,GAAmC,mBAAvBe,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bf,EKGNc,EADjBD,GLAER,GAAmBL,aAAiBM,cACb,0BAAzBb,EAAaO,KKCC,IAAbc,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAId,CAFC,MAAQb,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECJIC,EAA0C,mBAAhBC,YC4B9B,ICjCIX,EAAgC,mBAAhBW,YAA+BA,YAAc,KCAjE,IAAIV,EAAgC,mBAAhBU,YAA+BA,iBAAc,EC6BjE,IAAAC,ECbA,WACC,IAAIT,EACAC,ELMmBd,EKJvB,GAAkC,mBAAtBuB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBxB,EKINc,EADhBD,GLDEO,GAAkBpB,aAAiBqB,aACZ,yBAAzB5B,EAAaO,KKEC,IAAbc,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQX,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECQIO,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAX,EALIU,EAAc,GC9BdA,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbnB,EAA0C,mBAA1BtB,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eC/BxBC,EAAiB5C,OAAOC,UACxBF,EAAQ6C,EAAe1C,SACvB2C,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBC4BlC,IAAAC,ECpBA,WAEC,IAEC,OADAV,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ5B,GACT,OAAO,CACP,CACF,CDGKuC,GACaxB,EDgBlB,SAAyByB,EAAKC,EAAMC,GACnC,IAAIxD,EACAyD,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBxD,EAAMe,KAAMyC,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B1D,EAAMe,KAAM2C,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBR,EAAanC,KAAMyC,EAAKC,IACxBL,EAAarC,KAAMyC,EAAKC,IAGxBvD,EAAYsD,EAAIO,UAChBP,EAAIO,UAAYlB,SAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW7C,MAGzB2C,EAAIO,UAAY7D,GAEhBsD,EAAKC,GAASC,EAAW7C,OAG3B+C,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAI7B,MAAO,wHASlB,OANK4B,GAAUd,GACdA,EAAa/B,KAAMyC,EAAKC,EAAMC,EAAWM,KAErCH,GAAUb,GACdA,EAAajC,KAAMyC,EAAKC,EAAMC,EAAWO,KAEnCT,CACR,EGlEA,SAASU,EAA0BV,EAAKC,EAAM5C,GAC7C+B,EAAgBY,EAAKC,EAAM,CAC1BU,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxD,MAASA,GAEX,CCdA,SAASyD,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAA0D,EAAelD,OCMXlB,EAAWkB,EAAOnB,UAAUC,SCEhC,IAAIP,EAAMY,IAmBV,SAAS8D,EAAUzD,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,IAGjBzB,ECpBP,SAAeiB,GACd,IAEC,OADAV,EAASY,KAAMF,IACR,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDcUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEVA,SAASyD,EAAUzD,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCoBA8D,EAAAL,EAAA,cAAAG,GACAE,EAAAL,EAAA,WAAAI,GCnBA,IAAIE,EAAevD,EAAOwD,kBClB1B,SAASC,EAAWjE,GACnB,OACCA,EAAQgB,GACRhB,EAAQ4B,GCGDC,EADWqC,EDDXlE,KCEakE,EADtB,IAAoBA,CDCpB,CEAA,SAASD,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAET,CCLA,SAASiE,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAAMoE,UAEf,CCGA,SAASH,EAAWjE,GACnB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCXA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,GAAS,CAEX,CCLA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,EAAMoE,WAAa,CAErB,CCQA,SAASC,EAAsBrE,GAC9B,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCtBA,SAASsE,EAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCmCA8D,EAAAG,EAAA,cAAAL,GACAE,EAAAG,EAAA,WAAAJ,GCAAC,EAAAO,EAAA,cAAAT,GACAE,EAAAO,EAAA,WAAAR,GCpDA,IAAIO,EAAUG,OAAOlF,UAAU+E,QCQ/B,IAAIrF,EAAMY,IAmBV,SAAS2E,EAAUtE,GAClB,MAAsB,iBAAVA,IACNA,aAAiBuE,SAGjBxF,ECnBP,SAAeiB,GACd,IAEC,OADAoE,EAAQlE,KAAMF,IACP,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDaUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEjBA,SAASsE,EAAUtE,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCsBA8D,EAAAQ,EAAA,cAAAV,GACAE,EAAAQ,EAAA,WAAAT,GC7BA,SAASJ,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASwE,EAAOC,GACf,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAAS4E,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAajC,SAASC,GAAeC,GACvB,IAAIC,EACA3F,EACA2E,EAEJ,OAASe,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFA3F,EAAM0F,EAAMG,IACZlB,EAAImB,SAAU9F,EAAK,KACb+F,SAAUpB,GAAM,CACrB,IAAMjB,EAAU1D,GACf,MAAM,IAAIoB,MAAO,2BAA6BpB,GAE/C2E,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBe,EAAME,WAA8B,KAATD,KAC1ChB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACR3E,IAAS2E,GAAIpF,SAAUoG,GAClBD,EAAMM,YACVhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAE5CjG,EAAM,IAAMA,IAEZA,EAAM2E,EAAEpF,SAAUoG,GACZhB,GAAMe,EAAMM,UAENN,EAAMM,YACjBhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAF3CjG,EAAM,GAIF0F,EAAMQ,OACVlG,EAAM0F,EAAMQ,KAAOlG,IAGP,KAAT2F,IACCD,EAAMS,YACVnG,EAAM,KAAOA,GAEdA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,EAAUlF,KAAMH,IAEJ,IAAT2F,GACCD,EAAMS,WAAiC,MAApBnG,EAAIoG,OAAQ,KACnCpG,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAASuE,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAIoG,GAAMtE,KAAKsE,IACXhB,GAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAC7Bc,GAAU9B,OAAOlF,UAAUgH,QAK3BC,GAAoB,WACpBC,GAAoB,UACpBC,GAAiB,UACjBC,GAAuB,UACvBC,GAA0B,OAC1BC,GAAqB,QACrBC,GAAqB,gBAazB,SAASC,GAAcpB,GACtB,IAAIqB,EACA/G,EACAgH,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMtD,EAAUgC,EAAMG,KACrB,MAAM,IAAIzE,MAAO,yCAA2CpB,GAG7DgH,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJ5F,EAAMgH,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJhG,EAAMgH,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,GAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEX/G,EAAMgH,EAAEE,cAAeH,IAEvB/G,EAAMgH,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACXnG,EAAMsG,GAAQnG,KAAMH,EAAK6G,GAAoB,OAC7C7G,EAAMsG,GAAQnG,KAAMH,EAAK4G,GAAoB,KAC7C5G,EAAMsG,GAAQnG,KAAMH,EAAK2G,GAAyB,KAEnD,MACD,QACC,MAAM,IAAIvF,MAAO,mCAAqCsE,EAAME,WAc7D,OAZA5F,EAAMsG,GAAQnG,KAAMH,EAAKuG,GAAmB,SAC5CvG,EAAMsG,GAAQnG,KAAMH,EAAKwG,GAAmB,SACvCd,EAAMS,YACVnG,EAAMsG,GAAQnG,KAAMH,EAAKyG,GAAgB,OACzCzG,EAAMsG,GAAQnG,KAAMH,EAAK0G,GAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpBlG,EAAM0F,EAAMQ,KAAOlG,GAEpBA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,GAAUlF,KAAMH,EAElB,CC5EA,SAASqH,GAAQ3C,GAChB,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAASsH,GAAUzC,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAMwC,GAAQpC,GACdoC,GAAQpC,GAAQJ,CAElB,CC5BA,IAAI0C,GAAe/C,OAAO+C,aACtBC,GAAQC,MACRC,GAAUC,MAAMD,QAYpB,SAASE,GAAYlC,GACpB,IAAI1F,EAAM,CAAA,EAMV,OALAA,EAAI4F,UAAYF,EAAME,UACtB5F,EAAIgG,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DhG,EAAI8E,MAAQY,EAAMZ,MAClB9E,EAAI6H,MAAQnC,EAAMmC,OAAS,GAC3B7H,EAAI8H,QAAUpC,EAAMoC,QACb9H,CACR,CAmBA,SAAS+H,GAAmBC,GAC3B,IAAIC,EACAJ,EACAnC,EACAwC,EACAC,EACAnI,EACAoI,EACAzD,EACA0D,EAEJ,IAAMX,GAASM,GACd,MAAM,IAAI9E,UAAW,8DAAgE8E,EAAS,MAI/F,IAFAhI,EAAM,GACNoI,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GAAKJ,GADLmB,EAAQsC,EAAQrD,IAEf3E,GAAO0F,MACD,CAGN,GAFAuC,OAAgC,IAApBvC,EAAMM,YAClBN,EAAQkC,GAAYlC,IACRE,UACX,MAAM,IAAI1C,UAAW,oEAAqEyB,EAAG,cAAgBe,EAAQ,MAMtH,IAJKA,EAAMoC,UACVM,EAAM1C,EAAMoC,SAEbD,EAAQnC,EAAMmC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMzB,OAAQiC,IAErB,IAAK,IACJ3C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWT,EAAMU,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI/E,MAAO,iBAAmB8G,GAGtC,GAAqB,MAAhBxC,EAAMZ,MAAgB,CAG1B,GAFAY,EAAMZ,MAAQgB,SAAU0C,UAAWJ,GAAO,IAC1CA,GAAO,EACFZ,GAAO9B,EAAMZ,OACjB,MAAM,IAAI5B,UAAW,wCAA0CkF,EAAM,6BAA+B1C,EAAMZ,MAAQ,MAE9GY,EAAMZ,MAAQ,IAClBY,EAAMO,UAAW,EACjBP,EAAMZ,OAASY,EAAMZ,MAEtB,CACD,GAAKmD,GACqB,MAApBvC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWJ,GAAO,IAC9CA,GAAO,EACFZ,GAAO9B,EAAMM,WACjB,MAAM,IAAI9C,UAAW,4CAA8CkF,EAAM,6BAA+B1C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBiC,GAAY,EAEb,CAGF,OADAvC,EAAMG,IAAM2C,UAAWJ,GACd1C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECqC,IACJvC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,GAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMwB,GAAO9B,EAAMG,KAAQ,CAE1B,IADAsC,EAAMrC,SAAUJ,EAAMG,IAAK,KAChB,GAAKsC,EAAM,IACrB,MAAM,IAAI/G,MAAO,kCAAoCsE,EAAMG,KAE5DH,EAAMG,IAAQ2B,GAAOW,GACpB3D,OAAQkB,EAAMG,KACd0B,GAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLvC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,GAAcpB,GAC1B,MACD,QACC,MAAM,IAAItE,MAAO,sBAAwBsE,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIX,OAASQ,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMjB,EAASc,EAAMG,IAAKH,EAAMZ,OAASY,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMZ,QACjBY,EAAMG,IAAMyB,GAAU5B,EAAMG,IAAKH,EAAMZ,MAAOY,EAAMO,WAErDjG,GAAO0F,EAAMG,KAAO,GACpBuC,GAAO,CACP,CAEF,OAAOpI,CACR,CC3LA,IAAI2I,GAAK,6EAYT,SAASC,GAAOC,GACf,IAAInD,EAAQ,CACXoC,QAAae,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDhB,MAASgB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASoD,GAAgBjE,GACxB,IAAIkE,EACAf,EACAa,EACAG,EAKJ,IAHAhB,EAAS,GACTgB,EAAO,EACPH,EAAQF,GAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,GAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ8C,EAAOoB,KAAML,GAEdf,EAAOoB,KAAMR,GAAOC,IACpBG,EAAOL,GAAGQ,UACVN,EAAQF,GAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ8C,EAAOoB,KAAML,GAEPf,CACR,CClDA,SAASzD,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAASoJ,GAAQxE,GAChB,IAAImD,EACAsB,EACA3E,EAEJ,IAAMJ,GAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAKjG,IAHAmD,EAASuB,GAAU1E,IACnByE,EAAO,IAAI3B,MAAOa,UAAUtD,SACtB,GAAM8C,EACNrD,EAAI,EAAGA,EAAI2E,EAAKpE,OAAQP,IAC7B2E,EAAM3E,GAAM6D,UAAW7D,GAExB,OAAO6E,GAAYC,MAAO,KAAMH,EACjC,CC8BA,SAASI,GAAQ7E,EAAKH,GACrB,IAAIiF,EACAC,EACJ,IAAMrF,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBI,GAC3B,MAAM,IAAIxB,UAAWmG,GAAQ,gFAAiF3E,IAE/G,GAAoB,IAAfG,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAGR,GAAKG,EAAIK,OAASR,ECrDY,iBDsD7B,MAAM,IAAImF,WAAYR,GAAQ,6FAA8FxE,EAAIK,OAASR,IAI1I,IAFAiF,EAAM,GACNC,EAAMlF,EAGY,IAAP,EAAJkF,KACLD,GAAO9E,GAIK,KADb+E,KAAS,IAKT/E,GAAOA,EAER,OAAO8E,CACR,CE/EA,IAAIG,GAAO/H,KAAK+H,KCMhB,SAASC,GAAM5F,GAKd,IAJA,IACI6F,EADAnF,EAAM,GAIFV,EAAI,GAIVU,GAHDmF,EAAI7F,EAAI,MACRA,EAAIrC,EAAOkI,IAEJ,IAAMnF,EAEN,IAAMA,EAGd,OAAOA,CACR,CC8BA,SAASoF,GAAiB9F,GACzB,IAAI+F,EACAhE,EACArB,EACAsF,EACAzF,EACAsC,EACArC,EASJ,GALCuB,EADI/B,EAAI,GAAO,EAAIA,IAAMtC,EAClB,IAEA,IAGHsC,IAAMlD,GAAQkD,IAAMtC,EAIxB,OAAOqE,GAFPiE,EAAMT,GAAQ,IA3EQ,KA4EtB7E,EAAM6E,GAAQ,IA7EW,KAiF1B,GAAKvF,GAAMA,EAIV,OAAO+B,GAFPiE,EAAMT,GAAQ,IAlFQ,KAmFtB7E,EAAM,IAAM6E,GAAQ,IAAKU,KAI1B,GAAW,IAANjG,EAIJ,OAAO+B,GAFPiE,EAAMT,GAAQ,IAzFQ,KA0FtB7E,EAAM6E,GAAQ,IA3FW,KA2G1B,GAPA1C,GANA7C,ECnFD,SAAcA,GACb,OAAOpC,KAAKsE,IAAKlC,EAClB,CDiFKkC,CAAKlC,KAGTO,EAAI5C,EAAOqC,IAMXO,EAAIqF,GAAMrF,GACVsC,EElGD,SAAgB7C,GACf,IAAIU,EACAmF,EACArF,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAANV,EACJ,OAAOU,EAKR,IAHAwD,EA/Bc,IAkCR1D,EAAI,EAAGA,EAlCC,OAmCbqF,EAAQ,EAAJ7F,IACM,GACTA,EAAI6F,EAAI,EACRnF,GAAO,IAtCK,MAuCPwD,IACJA,EAAI1D,KAGLR,EAAI6F,EACJnF,GAAO,OAGG,IAANmF,GAAarF,EAAE0D,EA9CP,KAiCa1D,KAkB3B,OAAOE,CACR,CFkEKwF,CAAOrD,GAGNtC,EAEJyF,EAAMzF,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIqC,EAAE9B,OAAQP,IAC1B,GAAgB,MAAXqC,EAAGrC,GAAc,CACrBuF,EAAQvF,EAAI,EACZ,KACA,CAGFwF,GAAOD,CACP,CAuBD,OArBArF,EAAMH,EAAIsC,EACLmD,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTzF,EAAMA,EAAI6D,UAAWwB,IAGrBrF,EAAMA,EAAI6D,UAAW,GAItByB,EItHD,SAAetF,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,gEAEzB,MACEW,EAAI,IAEL,GAAKD,EPzByB,iBO0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGD6E,GAAQc,EADf9F,EAAIoF,GAAMpF,IACcG,CACzB,CJyFO4F,CADNN,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpCtF,EKzHD,SAAeA,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,4DAEzB,MACEW,EAAI,IAEL,GAAKD,ERzByB,iBQ0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGDA,EAAM6E,GAAQc,EADrB9F,EAAIoF,GAAMpF,GAEX,CL4FOgG,CAAM7F,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IA+InBxC,EAAOiE,EAAMtF,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index dad3e6e..0000000 --- a/stats.html +++ /dev/null @@ -1,4044 +0,0 @@ - - - - - - - - RollUp Visualizer - - - -
- - - - - From f1c96877dd7d9dabe9531dfa20aa9c7a1fb1a4ec Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 1 Jan 2023 13:21:35 +0000 Subject: [PATCH 037/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 49 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 62 - .github/workflows/cancel.yml | 56 - .github/workflows/close_pull_requests.yml | 44 - .github/workflows/examples.yml | 62 - .github/workflows/npm_downloads.yml | 108 - .github/workflows/productionize.yml | 791 ---- .github/workflows/publish.yml | 117 - .github/workflows/test.yml | 92 - .github/workflows/test_bundles.yml | 180 - .github/workflows/test_coverage.yml | 123 - .github/workflows/test_install.yml | 83 - .gitignore | 184 - .npmignore | 227 -- .npmrc | 28 - CHANGELOG.md | 5 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 --- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 4044 +++++++++++++++++++++ test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 45 files changed, 4063 insertions(+), 3982 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0fd4d6c..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index cbfbed3..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2023-01-01T01:26:54.607Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 06a9a75..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index a00dbe5..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,56 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - uses: styfle/cancel-workflow-action@0.11.0 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index 576054a..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,44 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 7902a7d..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout the repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 0bf9073..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,108 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - uses: actions/upload-artifact@v3 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - uses: distributhor/workflow-webhook@v3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index f4eea88..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,791 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - uses: actions/checkout@v3 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Format error messages: - - name: 'Replace double quotes with single quotes in rewritten format string error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\( \"([a-zA-Z0-9]+)\"/Error\( format\( '\1'/g" {} \; - - # Format string literal error messages: - - name: 'Replace double quotes with single quotes in rewritten string literal error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\(\"([a-zA-Z0-9]+)\"\)/Error\( format\( '\1' \)/g" {} \; - - # Format code: - - name: 'Replace double quotes with single quotes in inserted `require` calls' - run: | - find . -name "*.js" -exec sed -E -i "s/require\( ?\"@stdlib\/error-tools-fmtprodmsg\" ?\);/require\( '@stdlib\/error-tools-fmtprodmsg' \);/g" {} \; - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\"/\"@stdlib\/error-tools-fmtprodmsg\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^0.0.x'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - uses: actions/checkout@v3 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - uses: act10ns/slack@v1 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 69cc763d15be1b137ce984f847a17bd52feddeed Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Wed, 1 Feb 2023 03:59:05 +0000 Subject: [PATCH 038/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 69c1b08..7aab4ef 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.0.x", "@stdlib/string-left-pad": "^0.0.x", "@stdlib/string-repeat": "^0.0.x", - "@stdlib/string-right-pad": "^0.0.x" + "@stdlib/string-right-pad": "^0.0.x", + "@stdlib/error-tools-fmtprodmsg": "^0.0.x" }, "devDependencies": { "@stdlib/assert-is-string": "^0.0.x", @@ -98,4 +99,4 @@ "type": "patreon", "url": "https://www.patreon.com/athan" } -} +} \ No newline at end of file From 6bab09c000ee3d2e5a2f0c7b87dfaf8cf095bffc Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Wed, 1 Feb 2023 15:23:35 +0000 Subject: [PATCH 039/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 4044 ---------------------------------------------------- 4 files changed, 4127 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 1881a26..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 2.0 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 7524794..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2023 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol.toStringTag:"";i=e()?function(r){var e,i,o,u,c;if(null==r)return t.call(r);i=r[a],c=a,e=null!=(u=r)&&n.call(u,c);try{r[a]=void 0}catch(e){return t.call(r)}return o=t.call(r),e?r[a]=i:delete r[a],o}:function(r){return t.call(r)};var o=i,u="function"==typeof Float32Array;var c=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var s="function"==typeof Float32Array?Float32Array:void 0;var f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(u&&t instanceof Float32Array||"[object Float32Array]"===o(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===c}catch(e){r=!1}return r}()?s:function(){throw new Error("not implemented")},g="function"==typeof Uint32Array;var p="function"==typeof Uint32Array?Uint32Array:null;var h="function"==typeof Uint32Array?Uint32Array:void 0;var d=function(){var r,e,t;if("function"!=typeof p)return!1;try{e=new p(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(g&&t instanceof Uint32Array||"[object Uint32Array]"===o(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?h:function(){throw new Error("not implemented")},v=new f(1);new d(v.buffer)[0]=2139095040;var m=v[0],w=new f(1);new d(w.buffer)[0]=4286578688;var y=w[0];var b=Math.floor,E="function"==typeof Object.defineProperty?Object.defineProperty:null;var _=Object.defineProperty,S=Object.prototype,T=S.toString,x=S.__defineGetter__,V=S.__defineSetter__,A=S.__lookupGetter__,j=S.__lookupSetter__;var F=function(){try{return E({},"x",{}),!0}catch(r){return!1}}()?_:function(r,e,t){var n,i,a,o;if("object"!=typeof r||null===r||"[object Array]"===T.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof t||null===t||"[object Array]"===T.call(t))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+t+"`.");if((i="value"in t)&&(A.call(r,e)||j.call(r,e)?(n=r.__proto__,r.__proto__=S,delete r[e],r[e]=t.value,r.__proto__=n):r[e]=t.value),a="get"in t,o="set"in t,i&&(a||o))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return a&&x&&x.call(r,e,t.get),o&&V&&V.call(r,e,t.set),r};function k(r,e,t){F(r,e,{configurable:!1,enumerable:!1,writable:!1,value:t})}function O(r){return"number"==typeof r}var I=Number,P=I.prototype.toString;var R=e();function N(r){return"object"==typeof r&&(r instanceof I||(R?function(r){try{return P.call(r),!0}catch(r){return!1}}(r):"[object Number]"===o(r)))}function $(r){return O(r)||N(r)}k($,"isPrimitive",O),k($,"isObject",N);var U=I.NEGATIVE_INFINITY;function C(r){return rU&&b(e=r)===e;var e}function G(r){return O(r)&&C(r)}function Z(r){return N(r)&&C(r.valueOf())}function M(r){return G(r)||Z(r)}function W(r){return G(r)&&r>=0}function L(r){return Z(r)&&r.valueOf()>=0}function X(r){return W(r)||L(r)}function Y(r){return"string"==typeof r}k(M,"isPrimitive",G),k(M,"isObject",Z),k(X,"isPrimitive",W),k(X,"isObject",L);var z=String.prototype.valueOf;var q=e();function B(r){return"object"==typeof r&&(r instanceof String||(q?function(r){try{return z.call(r),!0}catch(r){return!1}}(r):"[object String]"===o(r)))}function D(r){return Y(r)||B(r)}k(D,"isPrimitive",Y),k(D,"isObject",B);function H(r){return"number"==typeof r}function J(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=or.call(t,pr,"$1e"),t=or.call(t,gr,"e"),t=or.call(t,fr,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=or.call(t,ur,"e+0$1"),t=or.call(t,cr,"e-0$1"),r.alternate&&(t=or.call(t,lr,"$1."),t=or.call(t,sr,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===ar.call(r.specifier)?ar.call(t):ir.call(t)}function dr(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=wr(a)?String(n.arg):mr(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=hr(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=K(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=vr(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var _r=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Sr(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function Tr(r){var e,t,n,i;for(t=[],i=0,n=_r.exec(r);n;)(e=r.slice(i,_r.lastIndex-n[0].length)).length&&t.push(e),t.push(Sr(n)),i=_r.lastIndex,n=_r.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function xr(r){return"string"==typeof r}function Vr(r){var e,t,n;if(!xr(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=Tr(r),(t=new Array(arguments.length))[0]=e,n=1;n9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",r.length*e));for(t="",n=e;1==(1&n)&&(t+=r),0!==(n>>>=1);)r+=r;return t}var jr=Math.ceil;function Fr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=b(e))?"0"+t:"1"+t;return t}function kr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===y?"1":"0",r===m||r===y)return t+(i=Ar("1",8))+(n=Ar("0",23));if(r!=r)return t+(i=Ar("1",8))+(n="1"+Ar("0",22));if(0===r)return t+(i=Ar("0",8))+(n=Ar("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=b(r)),a=Fr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:Ar(i,n=jr(n))+r}(i=Fr(i+127),8,"0"),n=function(r,e,t){var n,i;if(!Y(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!W(e))throw new TypeError(Vr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:r+Ar(i,n=jr(n))}(n,23,"0").substring(0,23),t+i+n}export{kr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 9d358cc..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/native_class.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/number.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/is_integer.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/string-repeat/lib/repeat.js","../node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/math-base-special-ceil/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/left_pad.js","../node_modules/@stdlib/string-right-pad/lib/right_pad.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './native_class.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './float32array.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './uint32array.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isNumber from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isInteger from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isNonNegativeInteger from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isString from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport format from '@stdlib/string-format';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', str.length * n ) );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport repeat from '@stdlib/string-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport repeat from '@stdlib/string-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","nativeClass","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass$1","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","main","ctor","Float32Array$1","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","hasUint32Array","Uint32Array","Uint32Array$1","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","isNumber","Number$1","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","String","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","repeat","rpt","cnt","RangeError","ceil","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","len","p","lpad","rpad"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA+B,mBAAXV,OAA0BA,OAAOE,YAAc,GC8BtEO,EADIE,ICDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EHHgBC,EAAOC,EGK3B,GAAKL,QACJ,OAAOT,EAAMe,KAAMN,GAEpBE,EAAMF,EAAGV,GHRkBe,EGSJf,EAAvBW,EHPCG,OAFmBA,EGSAJ,IHFbL,EAAIW,KAAMF,EAAOC,GGKxB,IACCL,EAAGV,QAAgB,CAGnB,CAFC,MAAQiB,GACT,OAAOhB,EAAMe,KAAMN,EACnB,CAQD,OAPAG,EAAMZ,EAAMe,KAAMN,GAEbC,EACJD,EAAGV,GAAgBY,SAEZF,EAAGV,GAEJa,CACR,EC3BA,SAAsBH,GACrB,OAAOT,EAAMe,KAAMN,EACpB,EFUA,IAAAQ,EAAeX,EGjCXY,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBC,EAAiC,mBAAjBJ,aAAgCA,aAAe,KCAnE,IAAIK,EAAiC,mBAAjBL,aAAgCA,kBAAe,EC6BnE,IAAAM,ECbA,WACC,IAAIC,EACAC,ELMoBd,EKJxB,GAAmC,mBAAvBe,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bf,EKGNc,EADjBD,GLAER,GAAmBL,aAAiBM,cACb,0BAAzBb,EAAaO,KKCC,IAAbc,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAId,CAFC,MAAQb,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECJIC,EAA0C,mBAAhBC,YC4B9B,ICjCIX,EAAgC,mBAAhBW,YAA+BA,YAAc,KCAjE,IAAIV,EAAgC,mBAAhBU,YAA+BA,iBAAc,EC6BjE,IAAAC,ECbA,WACC,IAAIT,EACAC,ELMmBd,EKJvB,GAAkC,mBAAtBuB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBxB,EKINc,EADhBD,GLDEO,GAAkBpB,aAAiBqB,aACZ,yBAAzB5B,EAAaO,KKEC,IAAbc,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQX,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECQIO,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAX,EALIU,EAAc,GC9BdA,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbnB,EAA0C,mBAA1BtB,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eC/BxBC,EAAiB5C,OAAOC,UACxBF,EAAQ6C,EAAe1C,SACvB2C,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBC4BlC,IAAAC,ECpBA,WAEC,IAEC,OADAV,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ5B,GACT,OAAO,CACP,CACF,CDGKuC,GACaxB,EDgBlB,SAAyByB,EAAKC,EAAMC,GACnC,IAAIxD,EACAyD,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBxD,EAAMe,KAAMyC,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B1D,EAAMe,KAAM2C,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBR,EAAanC,KAAMyC,EAAKC,IACxBL,EAAarC,KAAMyC,EAAKC,IAGxBvD,EAAYsD,EAAIO,UAChBP,EAAIO,UAAYlB,SAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW7C,MAGzB2C,EAAIO,UAAY7D,GAEhBsD,EAAKC,GAASC,EAAW7C,OAG3B+C,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAI7B,MAAO,wHASlB,OANK4B,GAAUd,GACdA,EAAa/B,KAAMyC,EAAKC,EAAMC,EAAWM,KAErCH,GAAUb,GACdA,EAAajC,KAAMyC,EAAKC,EAAMC,EAAWO,KAEnCT,CACR,EGlEA,SAASU,EAA0BV,EAAKC,EAAM5C,GAC7C+B,EAAgBY,EAAKC,EAAM,CAC1BU,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxD,MAASA,GAEX,CCdA,SAASyD,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAA0D,EAAelD,OCMXlB,EAAWkB,EAAOnB,UAAUC,SCEhC,IAAIP,EAAMY,IAmBV,SAAS8D,EAAUzD,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,IAGjBzB,ECpBP,SAAeiB,GACd,IAEC,OADAV,EAASY,KAAMF,IACR,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDcUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEVA,SAASyD,EAAUzD,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCoBA8D,EAAAL,EAAA,cAAAG,GACAE,EAAAL,EAAA,WAAAI,GCnBA,IAAIE,EAAevD,EAAOwD,kBClB1B,SAASC,EAAWjE,GACnB,OACCA,EAAQgB,GACRhB,EAAQ4B,GCGDC,EADWqC,EDDXlE,KCEakE,EADtB,IAAoBA,CDCpB,CEAA,SAASD,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAET,CCLA,SAASiE,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAAMoE,UAEf,CCGA,SAASH,EAAWjE,GACnB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCXA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,GAAS,CAEX,CCLA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,EAAMoE,WAAa,CAErB,CCQA,SAASC,EAAsBrE,GAC9B,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCtBA,SAASsE,EAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCmCA8D,EAAAG,EAAA,cAAAL,GACAE,EAAAG,EAAA,WAAAJ,GCAAC,EAAAO,EAAA,cAAAT,GACAE,EAAAO,EAAA,WAAAR,GCpDA,IAAIO,EAAUG,OAAOlF,UAAU+E,QCQ/B,IAAIrF,EAAMY,IAmBV,SAAS2E,EAAUtE,GAClB,MAAsB,iBAAVA,IACNA,aAAiBuE,SAGjBxF,ECnBP,SAAeiB,GACd,IAEC,OADAoE,EAAQlE,KAAMF,IACP,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDaUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEjBA,SAASsE,EAAUtE,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCsBA8D,EAAAQ,EAAA,cAAAV,GACAE,EAAAQ,EAAA,WAAAT,GC7BA,SAASJ,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASwE,EAAOC,GACf,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAAS4E,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAajC,SAASC,GAAeC,GACvB,IAAIC,EACA3F,EACA2E,EAEJ,OAASe,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFA3F,EAAM0F,EAAMG,IACZlB,EAAImB,SAAU9F,EAAK,KACb+F,SAAUpB,GAAM,CACrB,IAAMjB,EAAU1D,GACf,MAAM,IAAIoB,MAAO,2BAA6BpB,GAE/C2E,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBe,EAAME,WAA8B,KAATD,KAC1ChB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACR3E,IAAS2E,GAAIpF,SAAUoG,GAClBD,EAAMM,YACVhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAE5CjG,EAAM,IAAMA,IAEZA,EAAM2E,EAAEpF,SAAUoG,GACZhB,GAAMe,EAAMM,UAENN,EAAMM,YACjBhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAF3CjG,EAAM,GAIF0F,EAAMQ,OACVlG,EAAM0F,EAAMQ,KAAOlG,IAGP,KAAT2F,IACCD,EAAMS,YACVnG,EAAM,KAAOA,GAEdA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,EAAUlF,KAAMH,IAEJ,IAAT2F,GACCD,EAAMS,WAAiC,MAApBnG,EAAIoG,OAAQ,KACnCpG,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAASuE,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAIoG,GAAMtE,KAAKsE,IACXhB,GAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAC7Bc,GAAU9B,OAAOlF,UAAUgH,QAK3BC,GAAoB,WACpBC,GAAoB,UACpBC,GAAiB,UACjBC,GAAuB,UACvBC,GAA0B,OAC1BC,GAAqB,QACrBC,GAAqB,gBAazB,SAASC,GAAcpB,GACtB,IAAIqB,EACA/G,EACAgH,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMtD,EAAUgC,EAAMG,KACrB,MAAM,IAAIzE,MAAO,yCAA2CpB,GAG7DgH,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJ5F,EAAMgH,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJhG,EAAMgH,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,GAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEX/G,EAAMgH,EAAEE,cAAeH,IAEvB/G,EAAMgH,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACXnG,EAAMsG,GAAQnG,KAAMH,EAAK6G,GAAoB,OAC7C7G,EAAMsG,GAAQnG,KAAMH,EAAK4G,GAAoB,KAC7C5G,EAAMsG,GAAQnG,KAAMH,EAAK2G,GAAyB,KAEnD,MACD,QACC,MAAM,IAAIvF,MAAO,mCAAqCsE,EAAME,WAc7D,OAZA5F,EAAMsG,GAAQnG,KAAMH,EAAKuG,GAAmB,SAC5CvG,EAAMsG,GAAQnG,KAAMH,EAAKwG,GAAmB,SACvCd,EAAMS,YACVnG,EAAMsG,GAAQnG,KAAMH,EAAKyG,GAAgB,OACzCzG,EAAMsG,GAAQnG,KAAMH,EAAK0G,GAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpBlG,EAAM0F,EAAMQ,KAAOlG,GAEpBA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,GAAUlF,KAAMH,EAElB,CC5EA,SAASqH,GAAQ3C,GAChB,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAASsH,GAAUzC,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAMwC,GAAQpC,GACdoC,GAAQpC,GAAQJ,CAElB,CC5BA,IAAI0C,GAAe/C,OAAO+C,aACtBC,GAAQC,MACRC,GAAUC,MAAMD,QAYpB,SAASE,GAAYlC,GACpB,IAAI1F,EAAM,CAAA,EAMV,OALAA,EAAI4F,UAAYF,EAAME,UACtB5F,EAAIgG,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DhG,EAAI8E,MAAQY,EAAMZ,MAClB9E,EAAI6H,MAAQnC,EAAMmC,OAAS,GAC3B7H,EAAI8H,QAAUpC,EAAMoC,QACb9H,CACR,CAmBA,SAAS+H,GAAmBC,GAC3B,IAAIC,EACAJ,EACAnC,EACAwC,EACAC,EACAnI,EACAoI,EACAzD,EACA0D,EAEJ,IAAMX,GAASM,GACd,MAAM,IAAI9E,UAAW,8DAAgE8E,EAAS,MAI/F,IAFAhI,EAAM,GACNoI,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GAAKJ,GADLmB,EAAQsC,EAAQrD,IAEf3E,GAAO0F,MACD,CAGN,GAFAuC,OAAgC,IAApBvC,EAAMM,YAClBN,EAAQkC,GAAYlC,IACRE,UACX,MAAM,IAAI1C,UAAW,oEAAqEyB,EAAG,cAAgBe,EAAQ,MAMtH,IAJKA,EAAMoC,UACVM,EAAM1C,EAAMoC,SAEbD,EAAQnC,EAAMmC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMzB,OAAQiC,IAErB,IAAK,IACJ3C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWT,EAAMU,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI/E,MAAO,iBAAmB8G,GAGtC,GAAqB,MAAhBxC,EAAMZ,MAAgB,CAG1B,GAFAY,EAAMZ,MAAQgB,SAAU0C,UAAWJ,GAAO,IAC1CA,GAAO,EACFZ,GAAO9B,EAAMZ,OACjB,MAAM,IAAI5B,UAAW,wCAA0CkF,EAAM,6BAA+B1C,EAAMZ,MAAQ,MAE9GY,EAAMZ,MAAQ,IAClBY,EAAMO,UAAW,EACjBP,EAAMZ,OAASY,EAAMZ,MAEtB,CACD,GAAKmD,GACqB,MAApBvC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWJ,GAAO,IAC9CA,GAAO,EACFZ,GAAO9B,EAAMM,WACjB,MAAM,IAAI9C,UAAW,4CAA8CkF,EAAM,6BAA+B1C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBiC,GAAY,EAEb,CAGF,OADAvC,EAAMG,IAAM2C,UAAWJ,GACd1C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECqC,IACJvC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,GAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMwB,GAAO9B,EAAMG,KAAQ,CAE1B,IADAsC,EAAMrC,SAAUJ,EAAMG,IAAK,KAChB,GAAKsC,EAAM,IACrB,MAAM,IAAI/G,MAAO,kCAAoCsE,EAAMG,KAE5DH,EAAMG,IAAQ2B,GAAOW,GACpB3D,OAAQkB,EAAMG,KACd0B,GAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLvC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,GAAcpB,GAC1B,MACD,QACC,MAAM,IAAItE,MAAO,sBAAwBsE,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIX,OAASQ,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMjB,EAASc,EAAMG,IAAKH,EAAMZ,OAASY,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMZ,QACjBY,EAAMG,IAAMyB,GAAU5B,EAAMG,IAAKH,EAAMZ,MAAOY,EAAMO,WAErDjG,GAAO0F,EAAMG,KAAO,GACpBuC,GAAO,CACP,CAEF,OAAOpI,CACR,CC3LA,IAAI2I,GAAK,6EAYT,SAASC,GAAOC,GACf,IAAInD,EAAQ,CACXoC,QAAae,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDhB,MAASgB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASoD,GAAgBjE,GACxB,IAAIkE,EACAf,EACAa,EACAG,EAKJ,IAHAhB,EAAS,GACTgB,EAAO,EACPH,EAAQF,GAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,GAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ8C,EAAOoB,KAAML,GAEdf,EAAOoB,KAAMR,GAAOC,IACpBG,EAAOL,GAAGQ,UACVN,EAAQF,GAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ8C,EAAOoB,KAAML,GAEPf,CACR,CClDA,SAASzD,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAASoJ,GAAQxE,GAChB,IAAImD,EACAsB,EACA3E,EAEJ,IAAMJ,GAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAKjG,IAHAmD,EAASuB,GAAU1E,IACnByE,EAAO,IAAI3B,MAAOa,UAAUtD,SACtB,GAAM8C,EACNrD,EAAI,EAAGA,EAAI2E,EAAKpE,OAAQP,IAC7B2E,EAAM3E,GAAM6D,UAAW7D,GAExB,OAAO6E,GAAYC,MAAO,KAAMH,EACjC,CC8BA,SAASI,GAAQ7E,EAAKH,GACrB,IAAIiF,EACAC,EACJ,IAAMrF,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBI,GAC3B,MAAM,IAAIxB,UAAWmG,GAAQ,gFAAiF3E,IAE/G,GAAoB,IAAfG,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAGR,GAAKG,EAAIK,OAASR,ECrDY,iBDsD7B,MAAM,IAAImF,WAAYR,GAAQ,6FAA8FxE,EAAIK,OAASR,IAI1I,IAFAiF,EAAM,GACNC,EAAMlF,EAGY,IAAP,EAAJkF,KACLD,GAAO9E,GAIK,KADb+E,KAAS,IAKT/E,GAAOA,EAER,OAAO8E,CACR,CE/EA,IAAIG,GAAO/H,KAAK+H,KCMhB,SAASC,GAAM5F,GAKd,IAJA,IACI6F,EADAnF,EAAM,GAIFV,EAAI,GAIVU,GAHDmF,EAAI7F,EAAI,MACRA,EAAIrC,EAAOkI,IAEJ,IAAMnF,EAEN,IAAMA,EAGd,OAAOA,CACR,CC8BA,SAASoF,GAAiB9F,GACzB,IAAI+F,EACAhE,EACArB,EACAsF,EACAzF,EACAsC,EACArC,EASJ,GALCuB,EADI/B,EAAI,GAAO,EAAIA,IAAMtC,EAClB,IAEA,IAGHsC,IAAMlD,GAAQkD,IAAMtC,EAIxB,OAAOqE,GAFPiE,EAAMT,GAAQ,IA3EQ,KA4EtB7E,EAAM6E,GAAQ,IA7EW,KAiF1B,GAAKvF,GAAMA,EAIV,OAAO+B,GAFPiE,EAAMT,GAAQ,IAlFQ,KAmFtB7E,EAAM,IAAM6E,GAAQ,IAAKU,KAI1B,GAAW,IAANjG,EAIJ,OAAO+B,GAFPiE,EAAMT,GAAQ,IAzFQ,KA0FtB7E,EAAM6E,GAAQ,IA3FW,KA2G1B,GAPA1C,GANA7C,ECnFD,SAAcA,GACb,OAAOpC,KAAKsE,IAAKlC,EAClB,CDiFKkC,CAAKlC,KAGTO,EAAI5C,EAAOqC,IAMXO,EAAIqF,GAAMrF,GACVsC,EElGD,SAAgB7C,GACf,IAAIU,EACAmF,EACArF,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAANV,EACJ,OAAOU,EAKR,IAHAwD,EA/Bc,IAkCR1D,EAAI,EAAGA,EAlCC,OAmCbqF,EAAQ,EAAJ7F,IACM,GACTA,EAAI6F,EAAI,EACRnF,GAAO,IAtCK,MAuCPwD,IACJA,EAAI1D,KAGLR,EAAI6F,EACJnF,GAAO,OAGG,IAANmF,GAAarF,EAAE0D,EA9CP,KAiCa1D,KAkB3B,OAAOE,CACR,CFkEKwF,CAAOrD,GAGNtC,EAEJyF,EAAMzF,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIqC,EAAE9B,OAAQP,IAC1B,GAAgB,MAAXqC,EAAGrC,GAAc,CACrBuF,EAAQvF,EAAI,EACZ,KACA,CAGFwF,GAAOD,CACP,CAuBD,OArBArF,EAAMH,EAAIsC,EACLmD,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTzF,EAAMA,EAAI6D,UAAWwB,IAGrBrF,EAAMA,EAAI6D,UAAW,GAItByB,EItHD,SAAetF,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,gEAEzB,MACEW,EAAI,IAEL,GAAKD,EPzByB,iBO0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGD6E,GAAQc,EADf9F,EAAIoF,GAAMpF,IACcG,CACzB,CJyFO4F,CADNN,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpCtF,EKzHD,SAAeA,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,4DAEzB,MACEW,EAAI,IAEL,GAAKD,ERzByB,iBQ0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGDA,EAAM6E,GAAQc,EADrB9F,EAAIoF,GAAMpF,GAEX,CL4FOgG,CAAM7F,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IA+InBxC,EAAOiE,EAAMtF,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index ef4b2f2..0000000 --- a/stats.html +++ /dev/null @@ -1,4044 +0,0 @@ - - - - - - - - RollUp Visualizer - - - -
- - - - - From 59f6c17b0a18bda6bf7396d9ba40062dcce8a778 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Wed, 1 Feb 2023 15:24:29 +0000 Subject: [PATCH 040/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 49 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 62 - .github/workflows/cancel.yml | 56 - .github/workflows/close_pull_requests.yml | 44 - .github/workflows/examples.yml | 62 - .github/workflows/npm_downloads.yml | 108 - .github/workflows/productionize.yml | 791 --- .github/workflows/publish.yml | 117 - .github/workflows/test.yml | 92 - .github/workflows/test_bundles.yml | 180 - .github/workflows/test_coverage.yml | 123 - .github/workflows/test_install.yml | 83 - .gitignore | 184 - .npmignore | 227 - .npmrc | 28 - CHANGELOG.md | 5 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 6177 +++++++++++++++++++++ test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 45 files changed, 6196 insertions(+), 3982 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0fd4d6c..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index 259e30c..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2023-02-01T01:56:24.802Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 06a9a75..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index a00dbe5..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,56 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - uses: styfle/cancel-workflow-action@0.11.0 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index 576054a..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,44 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 7902a7d..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout the repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 0bf9073..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,108 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - uses: actions/upload-artifact@v3 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - uses: distributhor/workflow-webhook@v3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index f4eea88..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,791 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - uses: actions/checkout@v3 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Format error messages: - - name: 'Replace double quotes with single quotes in rewritten format string error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\( \"([a-zA-Z0-9]+)\"/Error\( format\( '\1'/g" {} \; - - # Format string literal error messages: - - name: 'Replace double quotes with single quotes in rewritten string literal error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\(\"([a-zA-Z0-9]+)\"\)/Error\( format\( '\1' \)/g" {} \; - - # Format code: - - name: 'Replace double quotes with single quotes in inserted `require` calls' - run: | - find . -name "*.js" -exec sed -E -i "s/require\( ?\"@stdlib\/error-tools-fmtprodmsg\" ?\);/require\( '@stdlib\/error-tools-fmtprodmsg' \);/g" {} \; - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\"/\"@stdlib\/error-tools-fmtprodmsg\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^0.0.x'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - uses: actions/checkout@v3 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - uses: act10ns/slack@v1 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From b673f0d2e8822fa0cc4b1885e57cd15df27e3af9 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Wed, 1 Mar 2023 07:53:28 +0000 Subject: [PATCH 041/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b9bb50e..bb891da 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.0.8", "@stdlib/string-left-pad": "^0.0.9", "@stdlib/string-repeat": "^0.0.9", - "@stdlib/string-right-pad": "^0.0.9" + "@stdlib/string-right-pad": "^0.0.9", + "@stdlib/error-tools-fmtprodmsg": "^0.0.2" }, "devDependencies": { "@stdlib/assert-is-string": "^0.0.8", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From bf00f7dbffe85d203134916edffad7bb92582af3 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Wed, 1 Mar 2023 17:21:16 +0000 Subject: [PATCH 042/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 6177 ---------------------------------------------------- 4 files changed, 6260 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 1881a26..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 2.0 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 7524794..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2023 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol.toStringTag:"";i=e()?function(r){var e,i,o,u,c;if(null==r)return t.call(r);i=r[a],c=a,e=null!=(u=r)&&n.call(u,c);try{r[a]=void 0}catch(e){return t.call(r)}return o=t.call(r),e?r[a]=i:delete r[a],o}:function(r){return t.call(r)};var o=i,u="function"==typeof Float32Array;var c=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var s="function"==typeof Float32Array?Float32Array:void 0;var f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(u&&t instanceof Float32Array||"[object Float32Array]"===o(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===c}catch(e){r=!1}return r}()?s:function(){throw new Error("not implemented")},g="function"==typeof Uint32Array;var p="function"==typeof Uint32Array?Uint32Array:null;var h="function"==typeof Uint32Array?Uint32Array:void 0;var d=function(){var r,e,t;if("function"!=typeof p)return!1;try{e=new p(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(g&&t instanceof Uint32Array||"[object Uint32Array]"===o(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?h:function(){throw new Error("not implemented")},v=new f(1);new d(v.buffer)[0]=2139095040;var m=v[0],w=new f(1);new d(w.buffer)[0]=4286578688;var y=w[0];var b=Math.floor,E="function"==typeof Object.defineProperty?Object.defineProperty:null;var _=Object.defineProperty,S=Object.prototype,T=S.toString,x=S.__defineGetter__,V=S.__defineSetter__,A=S.__lookupGetter__,j=S.__lookupSetter__;var F=function(){try{return E({},"x",{}),!0}catch(r){return!1}}()?_:function(r,e,t){var n,i,a,o;if("object"!=typeof r||null===r||"[object Array]"===T.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof t||null===t||"[object Array]"===T.call(t))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+t+"`.");if((i="value"in t)&&(A.call(r,e)||j.call(r,e)?(n=r.__proto__,r.__proto__=S,delete r[e],r[e]=t.value,r.__proto__=n):r[e]=t.value),a="get"in t,o="set"in t,i&&(a||o))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return a&&x&&x.call(r,e,t.get),o&&V&&V.call(r,e,t.set),r};function k(r,e,t){F(r,e,{configurable:!1,enumerable:!1,writable:!1,value:t})}function O(r){return"number"==typeof r}var I=Number,P=I.prototype.toString;var R=e();function N(r){return"object"==typeof r&&(r instanceof I||(R?function(r){try{return P.call(r),!0}catch(r){return!1}}(r):"[object Number]"===o(r)))}function $(r){return O(r)||N(r)}k($,"isPrimitive",O),k($,"isObject",N);var U=I.NEGATIVE_INFINITY;function C(r){return rU&&b(e=r)===e;var e}function G(r){return O(r)&&C(r)}function Z(r){return N(r)&&C(r.valueOf())}function M(r){return G(r)||Z(r)}function W(r){return G(r)&&r>=0}function L(r){return Z(r)&&r.valueOf()>=0}function X(r){return W(r)||L(r)}function Y(r){return"string"==typeof r}k(M,"isPrimitive",G),k(M,"isObject",Z),k(X,"isPrimitive",W),k(X,"isObject",L);var z=String.prototype.valueOf;var q=e();function B(r){return"object"==typeof r&&(r instanceof String||(q?function(r){try{return z.call(r),!0}catch(r){return!1}}(r):"[object String]"===o(r)))}function D(r){return Y(r)||B(r)}k(D,"isPrimitive",Y),k(D,"isObject",B);function H(r){return"number"==typeof r}function J(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=or.call(t,pr,"$1e"),t=or.call(t,gr,"e"),t=or.call(t,fr,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=or.call(t,ur,"e+0$1"),t=or.call(t,cr,"e-0$1"),r.alternate&&(t=or.call(t,lr,"$1."),t=or.call(t,sr,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===ar.call(r.specifier)?ar.call(t):ir.call(t)}function dr(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=wr(a)?String(n.arg):mr(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=hr(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=K(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=vr(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var _r=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Sr(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function Tr(r){var e,t,n,i;for(t=[],i=0,n=_r.exec(r);n;)(e=r.slice(i,_r.lastIndex-n[0].length)).length&&t.push(e),t.push(Sr(n)),i=_r.lastIndex,n=_r.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function xr(r){return"string"==typeof r}function Vr(r){var e,t,n;if(!xr(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=Tr(r),(t=new Array(arguments.length))[0]=e,n=1;n9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",r.length*e));for(t="",n=e;1==(1&n)&&(t+=r),0!==(n>>>=1);)r+=r;return t}var jr=Math.ceil;function Fr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=b(e))?"0"+t:"1"+t;return t}function kr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===y?"1":"0",r===m||r===y)return t+(i=Ar("1",8))+(n=Ar("0",23));if(r!=r)return t+(i=Ar("1",8))+(n="1"+Ar("0",22));if(0===r)return t+(i=Ar("0",8))+(n=Ar("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=b(r)),a=Fr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:Ar(i,n=jr(n))+r}(i=Fr(i+127),8,"0"),n=function(r,e,t){var n,i;if(!Y(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!W(e))throw new TypeError(Vr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:r+Ar(i,n=jr(n))}(n,23,"0").substring(0,23),t+i+n}export{kr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 9d358cc..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/native_class.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/number.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/is_integer.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/string-repeat/lib/repeat.js","../node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/math-base-special-ceil/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/left_pad.js","../node_modules/@stdlib/string-right-pad/lib/right_pad.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './native_class.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './float32array.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './uint32array.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isNumber from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isInteger from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isNonNegativeInteger from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isString from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport format from '@stdlib/string-format';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', str.length * n ) );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport repeat from '@stdlib/string-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport repeat from '@stdlib/string-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","nativeClass","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass$1","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","main","ctor","Float32Array$1","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","hasUint32Array","Uint32Array","Uint32Array$1","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","isNumber","Number$1","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","String","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","repeat","rpt","cnt","RangeError","ceil","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","len","p","lpad","rpad"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA+B,mBAAXV,OAA0BA,OAAOE,YAAc,GC8BtEO,EADIE,ICDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EHHgBC,EAAOC,EGK3B,GAAKL,QACJ,OAAOT,EAAMe,KAAMN,GAEpBE,EAAMF,EAAGV,GHRkBe,EGSJf,EAAvBW,EHPCG,OAFmBA,EGSAJ,IHFbL,EAAIW,KAAMF,EAAOC,GGKxB,IACCL,EAAGV,QAAgB,CAGnB,CAFC,MAAQiB,GACT,OAAOhB,EAAMe,KAAMN,EACnB,CAQD,OAPAG,EAAMZ,EAAMe,KAAMN,GAEbC,EACJD,EAAGV,GAAgBY,SAEZF,EAAGV,GAEJa,CACR,EC3BA,SAAsBH,GACrB,OAAOT,EAAMe,KAAMN,EACpB,EFUA,IAAAQ,EAAeX,EGjCXY,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBC,EAAiC,mBAAjBJ,aAAgCA,aAAe,KCAnE,IAAIK,EAAiC,mBAAjBL,aAAgCA,kBAAe,EC6BnE,IAAAM,ECbA,WACC,IAAIC,EACAC,ELMoBd,EKJxB,GAAmC,mBAAvBe,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bf,EKGNc,EADjBD,GLAER,GAAmBL,aAAiBM,cACb,0BAAzBb,EAAaO,KKCC,IAAbc,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAId,CAFC,MAAQb,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECJIC,EAA0C,mBAAhBC,YC4B9B,ICjCIX,EAAgC,mBAAhBW,YAA+BA,YAAc,KCAjE,IAAIV,EAAgC,mBAAhBU,YAA+BA,iBAAc,EC6BjE,IAAAC,ECbA,WACC,IAAIT,EACAC,ELMmBd,EKJvB,GAAkC,mBAAtBuB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBxB,EKINc,EADhBD,GLDEO,GAAkBpB,aAAiBqB,aACZ,yBAAzB5B,EAAaO,KKEC,IAAbc,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQX,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECQIO,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAX,EALIU,EAAc,GC9BdA,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbnB,EAA0C,mBAA1BtB,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eC/BxBC,EAAiB5C,OAAOC,UACxBF,EAAQ6C,EAAe1C,SACvB2C,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBC4BlC,IAAAC,ECpBA,WAEC,IAEC,OADAV,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ5B,GACT,OAAO,CACP,CACF,CDGKuC,GACaxB,EDgBlB,SAAyByB,EAAKC,EAAMC,GACnC,IAAIxD,EACAyD,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBxD,EAAMe,KAAMyC,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B1D,EAAMe,KAAM2C,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBR,EAAanC,KAAMyC,EAAKC,IACxBL,EAAarC,KAAMyC,EAAKC,IAGxBvD,EAAYsD,EAAIO,UAChBP,EAAIO,UAAYlB,SAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW7C,MAGzB2C,EAAIO,UAAY7D,GAEhBsD,EAAKC,GAASC,EAAW7C,OAG3B+C,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAI7B,MAAO,wHASlB,OANK4B,GAAUd,GACdA,EAAa/B,KAAMyC,EAAKC,EAAMC,EAAWM,KAErCH,GAAUb,GACdA,EAAajC,KAAMyC,EAAKC,EAAMC,EAAWO,KAEnCT,CACR,EGlEA,SAASU,EAA0BV,EAAKC,EAAM5C,GAC7C+B,EAAgBY,EAAKC,EAAM,CAC1BU,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxD,MAASA,GAEX,CCdA,SAASyD,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAA0D,EAAelD,OCMXlB,EAAWkB,EAAOnB,UAAUC,SCEhC,IAAIP,EAAMY,IAmBV,SAAS8D,EAAUzD,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,IAGjBzB,ECpBP,SAAeiB,GACd,IAEC,OADAV,EAASY,KAAMF,IACR,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDcUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEVA,SAASyD,EAAUzD,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCoBA8D,EAAAL,EAAA,cAAAG,GACAE,EAAAL,EAAA,WAAAI,GCnBA,IAAIE,EAAevD,EAAOwD,kBClB1B,SAASC,EAAWjE,GACnB,OACCA,EAAQgB,GACRhB,EAAQ4B,GCGDC,EADWqC,EDDXlE,KCEakE,EADtB,IAAoBA,CDCpB,CEAA,SAASD,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAET,CCLA,SAASiE,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAAMoE,UAEf,CCGA,SAASH,EAAWjE,GACnB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCXA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,GAAS,CAEX,CCLA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,EAAMoE,WAAa,CAErB,CCQA,SAASC,EAAsBrE,GAC9B,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCtBA,SAASsE,EAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCmCA8D,EAAAG,EAAA,cAAAL,GACAE,EAAAG,EAAA,WAAAJ,GCAAC,EAAAO,EAAA,cAAAT,GACAE,EAAAO,EAAA,WAAAR,GCpDA,IAAIO,EAAUG,OAAOlF,UAAU+E,QCQ/B,IAAIrF,EAAMY,IAmBV,SAAS2E,EAAUtE,GAClB,MAAsB,iBAAVA,IACNA,aAAiBuE,SAGjBxF,ECnBP,SAAeiB,GACd,IAEC,OADAoE,EAAQlE,KAAMF,IACP,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDaUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEjBA,SAASsE,EAAUtE,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCsBA8D,EAAAQ,EAAA,cAAAV,GACAE,EAAAQ,EAAA,WAAAT,GC7BA,SAASJ,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASwE,EAAOC,GACf,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAAS4E,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAajC,SAASC,GAAeC,GACvB,IAAIC,EACA3F,EACA2E,EAEJ,OAASe,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFA3F,EAAM0F,EAAMG,IACZlB,EAAImB,SAAU9F,EAAK,KACb+F,SAAUpB,GAAM,CACrB,IAAMjB,EAAU1D,GACf,MAAM,IAAIoB,MAAO,2BAA6BpB,GAE/C2E,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBe,EAAME,WAA8B,KAATD,KAC1ChB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACR3E,IAAS2E,GAAIpF,SAAUoG,GAClBD,EAAMM,YACVhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAE5CjG,EAAM,IAAMA,IAEZA,EAAM2E,EAAEpF,SAAUoG,GACZhB,GAAMe,EAAMM,UAENN,EAAMM,YACjBhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAF3CjG,EAAM,GAIF0F,EAAMQ,OACVlG,EAAM0F,EAAMQ,KAAOlG,IAGP,KAAT2F,IACCD,EAAMS,YACVnG,EAAM,KAAOA,GAEdA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,EAAUlF,KAAMH,IAEJ,IAAT2F,GACCD,EAAMS,WAAiC,MAApBnG,EAAIoG,OAAQ,KACnCpG,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAASuE,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAIoG,GAAMtE,KAAKsE,IACXhB,GAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAC7Bc,GAAU9B,OAAOlF,UAAUgH,QAK3BC,GAAoB,WACpBC,GAAoB,UACpBC,GAAiB,UACjBC,GAAuB,UACvBC,GAA0B,OAC1BC,GAAqB,QACrBC,GAAqB,gBAazB,SAASC,GAAcpB,GACtB,IAAIqB,EACA/G,EACAgH,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMtD,EAAUgC,EAAMG,KACrB,MAAM,IAAIzE,MAAO,yCAA2CpB,GAG7DgH,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJ5F,EAAMgH,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJhG,EAAMgH,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,GAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEX/G,EAAMgH,EAAEE,cAAeH,IAEvB/G,EAAMgH,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACXnG,EAAMsG,GAAQnG,KAAMH,EAAK6G,GAAoB,OAC7C7G,EAAMsG,GAAQnG,KAAMH,EAAK4G,GAAoB,KAC7C5G,EAAMsG,GAAQnG,KAAMH,EAAK2G,GAAyB,KAEnD,MACD,QACC,MAAM,IAAIvF,MAAO,mCAAqCsE,EAAME,WAc7D,OAZA5F,EAAMsG,GAAQnG,KAAMH,EAAKuG,GAAmB,SAC5CvG,EAAMsG,GAAQnG,KAAMH,EAAKwG,GAAmB,SACvCd,EAAMS,YACVnG,EAAMsG,GAAQnG,KAAMH,EAAKyG,GAAgB,OACzCzG,EAAMsG,GAAQnG,KAAMH,EAAK0G,GAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpBlG,EAAM0F,EAAMQ,KAAOlG,GAEpBA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,GAAUlF,KAAMH,EAElB,CC5EA,SAASqH,GAAQ3C,GAChB,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAASsH,GAAUzC,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAMwC,GAAQpC,GACdoC,GAAQpC,GAAQJ,CAElB,CC5BA,IAAI0C,GAAe/C,OAAO+C,aACtBC,GAAQC,MACRC,GAAUC,MAAMD,QAYpB,SAASE,GAAYlC,GACpB,IAAI1F,EAAM,CAAA,EAMV,OALAA,EAAI4F,UAAYF,EAAME,UACtB5F,EAAIgG,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DhG,EAAI8E,MAAQY,EAAMZ,MAClB9E,EAAI6H,MAAQnC,EAAMmC,OAAS,GAC3B7H,EAAI8H,QAAUpC,EAAMoC,QACb9H,CACR,CAmBA,SAAS+H,GAAmBC,GAC3B,IAAIC,EACAJ,EACAnC,EACAwC,EACAC,EACAnI,EACAoI,EACAzD,EACA0D,EAEJ,IAAMX,GAASM,GACd,MAAM,IAAI9E,UAAW,8DAAgE8E,EAAS,MAI/F,IAFAhI,EAAM,GACNoI,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GAAKJ,GADLmB,EAAQsC,EAAQrD,IAEf3E,GAAO0F,MACD,CAGN,GAFAuC,OAAgC,IAApBvC,EAAMM,YAClBN,EAAQkC,GAAYlC,IACRE,UACX,MAAM,IAAI1C,UAAW,oEAAqEyB,EAAG,cAAgBe,EAAQ,MAMtH,IAJKA,EAAMoC,UACVM,EAAM1C,EAAMoC,SAEbD,EAAQnC,EAAMmC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMzB,OAAQiC,IAErB,IAAK,IACJ3C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWT,EAAMU,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI/E,MAAO,iBAAmB8G,GAGtC,GAAqB,MAAhBxC,EAAMZ,MAAgB,CAG1B,GAFAY,EAAMZ,MAAQgB,SAAU0C,UAAWJ,GAAO,IAC1CA,GAAO,EACFZ,GAAO9B,EAAMZ,OACjB,MAAM,IAAI5B,UAAW,wCAA0CkF,EAAM,6BAA+B1C,EAAMZ,MAAQ,MAE9GY,EAAMZ,MAAQ,IAClBY,EAAMO,UAAW,EACjBP,EAAMZ,OAASY,EAAMZ,MAEtB,CACD,GAAKmD,GACqB,MAApBvC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWJ,GAAO,IAC9CA,GAAO,EACFZ,GAAO9B,EAAMM,WACjB,MAAM,IAAI9C,UAAW,4CAA8CkF,EAAM,6BAA+B1C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBiC,GAAY,EAEb,CAGF,OADAvC,EAAMG,IAAM2C,UAAWJ,GACd1C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECqC,IACJvC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,GAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMwB,GAAO9B,EAAMG,KAAQ,CAE1B,IADAsC,EAAMrC,SAAUJ,EAAMG,IAAK,KAChB,GAAKsC,EAAM,IACrB,MAAM,IAAI/G,MAAO,kCAAoCsE,EAAMG,KAE5DH,EAAMG,IAAQ2B,GAAOW,GACpB3D,OAAQkB,EAAMG,KACd0B,GAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLvC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,GAAcpB,GAC1B,MACD,QACC,MAAM,IAAItE,MAAO,sBAAwBsE,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIX,OAASQ,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMjB,EAASc,EAAMG,IAAKH,EAAMZ,OAASY,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMZ,QACjBY,EAAMG,IAAMyB,GAAU5B,EAAMG,IAAKH,EAAMZ,MAAOY,EAAMO,WAErDjG,GAAO0F,EAAMG,KAAO,GACpBuC,GAAO,CACP,CAEF,OAAOpI,CACR,CC3LA,IAAI2I,GAAK,6EAYT,SAASC,GAAOC,GACf,IAAInD,EAAQ,CACXoC,QAAae,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDhB,MAASgB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASoD,GAAgBjE,GACxB,IAAIkE,EACAf,EACAa,EACAG,EAKJ,IAHAhB,EAAS,GACTgB,EAAO,EACPH,EAAQF,GAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,GAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ8C,EAAOoB,KAAML,GAEdf,EAAOoB,KAAMR,GAAOC,IACpBG,EAAOL,GAAGQ,UACVN,EAAQF,GAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ8C,EAAOoB,KAAML,GAEPf,CACR,CClDA,SAASzD,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAASoJ,GAAQxE,GAChB,IAAImD,EACAsB,EACA3E,EAEJ,IAAMJ,GAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAKjG,IAHAmD,EAASuB,GAAU1E,IACnByE,EAAO,IAAI3B,MAAOa,UAAUtD,SACtB,GAAM8C,EACNrD,EAAI,EAAGA,EAAI2E,EAAKpE,OAAQP,IAC7B2E,EAAM3E,GAAM6D,UAAW7D,GAExB,OAAO6E,GAAYC,MAAO,KAAMH,EACjC,CC8BA,SAASI,GAAQ7E,EAAKH,GACrB,IAAIiF,EACAC,EACJ,IAAMrF,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBI,GAC3B,MAAM,IAAIxB,UAAWmG,GAAQ,gFAAiF3E,IAE/G,GAAoB,IAAfG,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAGR,GAAKG,EAAIK,OAASR,ECrDY,iBDsD7B,MAAM,IAAImF,WAAYR,GAAQ,6FAA8FxE,EAAIK,OAASR,IAI1I,IAFAiF,EAAM,GACNC,EAAMlF,EAGY,IAAP,EAAJkF,KACLD,GAAO9E,GAIK,KADb+E,KAAS,IAKT/E,GAAOA,EAER,OAAO8E,CACR,CE/EA,IAAIG,GAAO/H,KAAK+H,KCMhB,SAASC,GAAM5F,GAKd,IAJA,IACI6F,EADAnF,EAAM,GAIFV,EAAI,GAIVU,GAHDmF,EAAI7F,EAAI,MACRA,EAAIrC,EAAOkI,IAEJ,IAAMnF,EAEN,IAAMA,EAGd,OAAOA,CACR,CC8BA,SAASoF,GAAiB9F,GACzB,IAAI+F,EACAhE,EACArB,EACAsF,EACAzF,EACAsC,EACArC,EASJ,GALCuB,EADI/B,EAAI,GAAO,EAAIA,IAAMtC,EAClB,IAEA,IAGHsC,IAAMlD,GAAQkD,IAAMtC,EAIxB,OAAOqE,GAFPiE,EAAMT,GAAQ,IA3EQ,KA4EtB7E,EAAM6E,GAAQ,IA7EW,KAiF1B,GAAKvF,GAAMA,EAIV,OAAO+B,GAFPiE,EAAMT,GAAQ,IAlFQ,KAmFtB7E,EAAM,IAAM6E,GAAQ,IAAKU,KAI1B,GAAW,IAANjG,EAIJ,OAAO+B,GAFPiE,EAAMT,GAAQ,IAzFQ,KA0FtB7E,EAAM6E,GAAQ,IA3FW,KA2G1B,GAPA1C,GANA7C,ECnFD,SAAcA,GACb,OAAOpC,KAAKsE,IAAKlC,EAClB,CDiFKkC,CAAKlC,KAGTO,EAAI5C,EAAOqC,IAMXO,EAAIqF,GAAMrF,GACVsC,EElGD,SAAgB7C,GACf,IAAIU,EACAmF,EACArF,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAANV,EACJ,OAAOU,EAKR,IAHAwD,EA/Bc,IAkCR1D,EAAI,EAAGA,EAlCC,OAmCbqF,EAAQ,EAAJ7F,IACM,GACTA,EAAI6F,EAAI,EACRnF,GAAO,IAtCK,MAuCPwD,IACJA,EAAI1D,KAGLR,EAAI6F,EACJnF,GAAO,OAGG,IAANmF,GAAarF,EAAE0D,EA9CP,KAiCa1D,KAkB3B,OAAOE,CACR,CFkEKwF,CAAOrD,GAGNtC,EAEJyF,EAAMzF,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIqC,EAAE9B,OAAQP,IAC1B,GAAgB,MAAXqC,EAAGrC,GAAc,CACrBuF,EAAQvF,EAAI,EACZ,KACA,CAGFwF,GAAOD,CACP,CAuBD,OArBArF,EAAMH,EAAIsC,EACLmD,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTzF,EAAMA,EAAI6D,UAAWwB,IAGrBrF,EAAMA,EAAI6D,UAAW,GAItByB,EItHD,SAAetF,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,gEAEzB,MACEW,EAAI,IAEL,GAAKD,EPzByB,iBO0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGD6E,GAAQc,EADf9F,EAAIoF,GAAMpF,IACcG,CACzB,CJyFO4F,CADNN,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpCtF,EKzHD,SAAeA,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,4DAEzB,MACEW,EAAI,IAEL,GAAKD,ERzByB,iBQ0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGDA,EAAM6E,GAAQc,EADrB9F,EAAIoF,GAAMpF,GAEX,CL4FOgG,CAAM7F,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IA+InBxC,EAAOiE,EAAMtF,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index d21b270..0000000 --- a/stats.html +++ /dev/null @@ -1,6177 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From 3df78ac4f578c00b919151d6a1cf1c4b746045a1 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Wed, 1 Mar 2023 17:22:21 +0000 Subject: [PATCH 043/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 49 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 62 - .github/workflows/cancel.yml | 56 - .github/workflows/close_pull_requests.yml | 44 - .github/workflows/examples.yml | 62 - .github/workflows/npm_downloads.yml | 108 - .github/workflows/productionize.yml | 798 --- .github/workflows/publish.yml | 236 - .github/workflows/test.yml | 97 - .github/workflows/test_bundles.yml | 180 - .github/workflows/test_coverage.yml | 123 - .github/workflows/test_install.yml | 83 - .gitignore | 188 - .npmignore | 227 - .npmrc | 28 - CHANGELOG.md | 5 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 6177 +++++++++++++++++++++ test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 45 files changed, 6196 insertions(+), 4117 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0fd4d6c..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index b302777..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2023-03-01T05:08:49.339Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 06a9a75..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index a00dbe5..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,56 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - uses: styfle/cancel-workflow-action@0.11.0 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index 576054a..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,44 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 7902a7d..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout the repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 0bf9073..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,108 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - uses: actions/upload-artifact@v3 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - uses: distributhor/workflow-webhook@v3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 3e8e2db..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,798 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - uses: actions/checkout@v3 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Format error messages: - - name: 'Replace double quotes with single quotes in rewritten format string error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\( \"([a-zA-Z0-9]+)\"/Error\( format\( '\1'/g" {} \; - - # Format string literal error messages: - - name: 'Replace double quotes with single quotes in rewritten string literal error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\(\"([a-zA-Z0-9]+)\"\)/Error\( format\( '\1' \)/g" {} \; - - # Format code: - - name: 'Replace double quotes with single quotes in inserted `require` calls' - run: | - find . -name "*.js" -exec sed -E -i "s/require\( ?\"@stdlib\/error-tools-fmtprodmsg\" ?\);/require\( '@stdlib\/error-tools-fmtprodmsg' \);/g" {} \; - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - uses: actions/checkout@v3 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - uses: act10ns/slack@v1 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 4eb08dfdb7104d80fc2f6899d313887c81394606 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sat, 1 Apr 2023 08:31:30 +0000 Subject: [PATCH 044/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b9bb50e..bb891da 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.0.8", "@stdlib/string-left-pad": "^0.0.9", "@stdlib/string-repeat": "^0.0.9", - "@stdlib/string-right-pad": "^0.0.9" + "@stdlib/string-right-pad": "^0.0.9", + "@stdlib/error-tools-fmtprodmsg": "^0.0.2" }, "devDependencies": { "@stdlib/assert-is-string": "^0.0.8", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From 902fc17ec5639258fad382807c10be5d6919ae24 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sat, 1 Apr 2023 16:20:02 +0000 Subject: [PATCH 045/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 6177 ---------------------------------------------------- 4 files changed, 6260 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 1881a26..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 2.0 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 7524794..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2023 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol.toStringTag:"";i=e()?function(r){var e,i,o,u,c;if(null==r)return t.call(r);i=r[a],c=a,e=null!=(u=r)&&n.call(u,c);try{r[a]=void 0}catch(e){return t.call(r)}return o=t.call(r),e?r[a]=i:delete r[a],o}:function(r){return t.call(r)};var o=i,u="function"==typeof Float32Array;var c=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var s="function"==typeof Float32Array?Float32Array:void 0;var f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(u&&t instanceof Float32Array||"[object Float32Array]"===o(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===c}catch(e){r=!1}return r}()?s:function(){throw new Error("not implemented")},g="function"==typeof Uint32Array;var p="function"==typeof Uint32Array?Uint32Array:null;var h="function"==typeof Uint32Array?Uint32Array:void 0;var d=function(){var r,e,t;if("function"!=typeof p)return!1;try{e=new p(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(g&&t instanceof Uint32Array||"[object Uint32Array]"===o(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?h:function(){throw new Error("not implemented")},v=new f(1);new d(v.buffer)[0]=2139095040;var m=v[0],w=new f(1);new d(w.buffer)[0]=4286578688;var y=w[0];var b=Math.floor,E="function"==typeof Object.defineProperty?Object.defineProperty:null;var _=Object.defineProperty,S=Object.prototype,T=S.toString,x=S.__defineGetter__,V=S.__defineSetter__,A=S.__lookupGetter__,j=S.__lookupSetter__;var F=function(){try{return E({},"x",{}),!0}catch(r){return!1}}()?_:function(r,e,t){var n,i,a,o;if("object"!=typeof r||null===r||"[object Array]"===T.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof t||null===t||"[object Array]"===T.call(t))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+t+"`.");if((i="value"in t)&&(A.call(r,e)||j.call(r,e)?(n=r.__proto__,r.__proto__=S,delete r[e],r[e]=t.value,r.__proto__=n):r[e]=t.value),a="get"in t,o="set"in t,i&&(a||o))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return a&&x&&x.call(r,e,t.get),o&&V&&V.call(r,e,t.set),r};function k(r,e,t){F(r,e,{configurable:!1,enumerable:!1,writable:!1,value:t})}function O(r){return"number"==typeof r}var I=Number,P=I.prototype.toString;var R=e();function N(r){return"object"==typeof r&&(r instanceof I||(R?function(r){try{return P.call(r),!0}catch(r){return!1}}(r):"[object Number]"===o(r)))}function $(r){return O(r)||N(r)}k($,"isPrimitive",O),k($,"isObject",N);var U=I.NEGATIVE_INFINITY;function C(r){return rU&&b(e=r)===e;var e}function G(r){return O(r)&&C(r)}function Z(r){return N(r)&&C(r.valueOf())}function M(r){return G(r)||Z(r)}function W(r){return G(r)&&r>=0}function L(r){return Z(r)&&r.valueOf()>=0}function X(r){return W(r)||L(r)}function Y(r){return"string"==typeof r}k(M,"isPrimitive",G),k(M,"isObject",Z),k(X,"isPrimitive",W),k(X,"isObject",L);var z=String.prototype.valueOf;var q=e();function B(r){return"object"==typeof r&&(r instanceof String||(q?function(r){try{return z.call(r),!0}catch(r){return!1}}(r):"[object String]"===o(r)))}function D(r){return Y(r)||B(r)}k(D,"isPrimitive",Y),k(D,"isObject",B);function H(r){return"number"==typeof r}function J(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=or.call(t,pr,"$1e"),t=or.call(t,gr,"e"),t=or.call(t,fr,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=or.call(t,ur,"e+0$1"),t=or.call(t,cr,"e-0$1"),r.alternate&&(t=or.call(t,lr,"$1."),t=or.call(t,sr,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===ar.call(r.specifier)?ar.call(t):ir.call(t)}function dr(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=wr(a)?String(n.arg):mr(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=hr(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=K(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=vr(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var _r=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Sr(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function Tr(r){var e,t,n,i;for(t=[],i=0,n=_r.exec(r);n;)(e=r.slice(i,_r.lastIndex-n[0].length)).length&&t.push(e),t.push(Sr(n)),i=_r.lastIndex,n=_r.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function xr(r){return"string"==typeof r}function Vr(r){var e,t,n;if(!xr(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=Tr(r),(t=new Array(arguments.length))[0]=e,n=1;n9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",r.length*e));for(t="",n=e;1==(1&n)&&(t+=r),0!==(n>>>=1);)r+=r;return t}var jr=Math.ceil;function Fr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=b(e))?"0"+t:"1"+t;return t}function kr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===y?"1":"0",r===m||r===y)return t+(i=Ar("1",8))+(n=Ar("0",23));if(r!=r)return t+(i=Ar("1",8))+(n="1"+Ar("0",22));if(0===r)return t+(i=Ar("0",8))+(n=Ar("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=b(r)),a=Fr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:Ar(i,n=jr(n))+r}(i=Fr(i+127),8,"0"),n=function(r,e,t){var n,i;if(!Y(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!W(e))throw new TypeError(Vr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:r+Ar(i,n=jr(n))}(n,23,"0").substring(0,23),t+i+n}export{kr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 9d358cc..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/native_class.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/number.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/is_integer.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/string-repeat/lib/repeat.js","../node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/math-base-special-ceil/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/left_pad.js","../node_modules/@stdlib/string-right-pad/lib/right_pad.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './native_class.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './float32array.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './uint32array.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isNumber from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isInteger from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isNonNegativeInteger from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isString from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport format from '@stdlib/string-format';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', str.length * n ) );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport repeat from '@stdlib/string-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport repeat from '@stdlib/string-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","nativeClass","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass$1","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","main","ctor","Float32Array$1","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","hasUint32Array","Uint32Array","Uint32Array$1","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","isNumber","Number$1","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","String","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","repeat","rpt","cnt","RangeError","ceil","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","len","p","lpad","rpad"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA+B,mBAAXV,OAA0BA,OAAOE,YAAc,GC8BtEO,EADIE,ICDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EHHgBC,EAAOC,EGK3B,GAAKL,QACJ,OAAOT,EAAMe,KAAMN,GAEpBE,EAAMF,EAAGV,GHRkBe,EGSJf,EAAvBW,EHPCG,OAFmBA,EGSAJ,IHFbL,EAAIW,KAAMF,EAAOC,GGKxB,IACCL,EAAGV,QAAgB,CAGnB,CAFC,MAAQiB,GACT,OAAOhB,EAAMe,KAAMN,EACnB,CAQD,OAPAG,EAAMZ,EAAMe,KAAMN,GAEbC,EACJD,EAAGV,GAAgBY,SAEZF,EAAGV,GAEJa,CACR,EC3BA,SAAsBH,GACrB,OAAOT,EAAMe,KAAMN,EACpB,EFUA,IAAAQ,EAAeX,EGjCXY,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBC,EAAiC,mBAAjBJ,aAAgCA,aAAe,KCAnE,IAAIK,EAAiC,mBAAjBL,aAAgCA,kBAAe,EC6BnE,IAAAM,ECbA,WACC,IAAIC,EACAC,ELMoBd,EKJxB,GAAmC,mBAAvBe,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bf,EKGNc,EADjBD,GLAER,GAAmBL,aAAiBM,cACb,0BAAzBb,EAAaO,KKCC,IAAbc,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAId,CAFC,MAAQb,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECJIC,EAA0C,mBAAhBC,YC4B9B,ICjCIX,EAAgC,mBAAhBW,YAA+BA,YAAc,KCAjE,IAAIV,EAAgC,mBAAhBU,YAA+BA,iBAAc,EC6BjE,IAAAC,ECbA,WACC,IAAIT,EACAC,ELMmBd,EKJvB,GAAkC,mBAAtBuB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBxB,EKINc,EADhBD,GLDEO,GAAkBpB,aAAiBqB,aACZ,yBAAzB5B,EAAaO,KKEC,IAAbc,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQX,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECQIO,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAX,EALIU,EAAc,GC9BdA,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbnB,EAA0C,mBAA1BtB,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eC/BxBC,EAAiB5C,OAAOC,UACxBF,EAAQ6C,EAAe1C,SACvB2C,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBC4BlC,IAAAC,ECpBA,WAEC,IAEC,OADAV,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ5B,GACT,OAAO,CACP,CACF,CDGKuC,GACaxB,EDgBlB,SAAyByB,EAAKC,EAAMC,GACnC,IAAIxD,EACAyD,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBxD,EAAMe,KAAMyC,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B1D,EAAMe,KAAM2C,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBR,EAAanC,KAAMyC,EAAKC,IACxBL,EAAarC,KAAMyC,EAAKC,IAGxBvD,EAAYsD,EAAIO,UAChBP,EAAIO,UAAYlB,SAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW7C,MAGzB2C,EAAIO,UAAY7D,GAEhBsD,EAAKC,GAASC,EAAW7C,OAG3B+C,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAI7B,MAAO,wHASlB,OANK4B,GAAUd,GACdA,EAAa/B,KAAMyC,EAAKC,EAAMC,EAAWM,KAErCH,GAAUb,GACdA,EAAajC,KAAMyC,EAAKC,EAAMC,EAAWO,KAEnCT,CACR,EGlEA,SAASU,EAA0BV,EAAKC,EAAM5C,GAC7C+B,EAAgBY,EAAKC,EAAM,CAC1BU,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxD,MAASA,GAEX,CCdA,SAASyD,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAA0D,EAAelD,OCMXlB,EAAWkB,EAAOnB,UAAUC,SCEhC,IAAIP,EAAMY,IAmBV,SAAS8D,EAAUzD,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,IAGjBzB,ECpBP,SAAeiB,GACd,IAEC,OADAV,EAASY,KAAMF,IACR,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDcUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEVA,SAASyD,EAAUzD,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCoBA8D,EAAAL,EAAA,cAAAG,GACAE,EAAAL,EAAA,WAAAI,GCnBA,IAAIE,EAAevD,EAAOwD,kBClB1B,SAASC,EAAWjE,GACnB,OACCA,EAAQgB,GACRhB,EAAQ4B,GCGDC,EADWqC,EDDXlE,KCEakE,EADtB,IAAoBA,CDCpB,CEAA,SAASD,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAET,CCLA,SAASiE,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAAMoE,UAEf,CCGA,SAASH,EAAWjE,GACnB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCXA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,GAAS,CAEX,CCLA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,EAAMoE,WAAa,CAErB,CCQA,SAASC,EAAsBrE,GAC9B,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCtBA,SAASsE,EAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCmCA8D,EAAAG,EAAA,cAAAL,GACAE,EAAAG,EAAA,WAAAJ,GCAAC,EAAAO,EAAA,cAAAT,GACAE,EAAAO,EAAA,WAAAR,GCpDA,IAAIO,EAAUG,OAAOlF,UAAU+E,QCQ/B,IAAIrF,EAAMY,IAmBV,SAAS2E,EAAUtE,GAClB,MAAsB,iBAAVA,IACNA,aAAiBuE,SAGjBxF,ECnBP,SAAeiB,GACd,IAEC,OADAoE,EAAQlE,KAAMF,IACP,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDaUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEjBA,SAASsE,EAAUtE,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCsBA8D,EAAAQ,EAAA,cAAAV,GACAE,EAAAQ,EAAA,WAAAT,GC7BA,SAASJ,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASwE,EAAOC,GACf,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAAS4E,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAajC,SAASC,GAAeC,GACvB,IAAIC,EACA3F,EACA2E,EAEJ,OAASe,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFA3F,EAAM0F,EAAMG,IACZlB,EAAImB,SAAU9F,EAAK,KACb+F,SAAUpB,GAAM,CACrB,IAAMjB,EAAU1D,GACf,MAAM,IAAIoB,MAAO,2BAA6BpB,GAE/C2E,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBe,EAAME,WAA8B,KAATD,KAC1ChB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACR3E,IAAS2E,GAAIpF,SAAUoG,GAClBD,EAAMM,YACVhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAE5CjG,EAAM,IAAMA,IAEZA,EAAM2E,EAAEpF,SAAUoG,GACZhB,GAAMe,EAAMM,UAENN,EAAMM,YACjBhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAF3CjG,EAAM,GAIF0F,EAAMQ,OACVlG,EAAM0F,EAAMQ,KAAOlG,IAGP,KAAT2F,IACCD,EAAMS,YACVnG,EAAM,KAAOA,GAEdA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,EAAUlF,KAAMH,IAEJ,IAAT2F,GACCD,EAAMS,WAAiC,MAApBnG,EAAIoG,OAAQ,KACnCpG,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAASuE,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAIoG,GAAMtE,KAAKsE,IACXhB,GAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAC7Bc,GAAU9B,OAAOlF,UAAUgH,QAK3BC,GAAoB,WACpBC,GAAoB,UACpBC,GAAiB,UACjBC,GAAuB,UACvBC,GAA0B,OAC1BC,GAAqB,QACrBC,GAAqB,gBAazB,SAASC,GAAcpB,GACtB,IAAIqB,EACA/G,EACAgH,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMtD,EAAUgC,EAAMG,KACrB,MAAM,IAAIzE,MAAO,yCAA2CpB,GAG7DgH,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJ5F,EAAMgH,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJhG,EAAMgH,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,GAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEX/G,EAAMgH,EAAEE,cAAeH,IAEvB/G,EAAMgH,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACXnG,EAAMsG,GAAQnG,KAAMH,EAAK6G,GAAoB,OAC7C7G,EAAMsG,GAAQnG,KAAMH,EAAK4G,GAAoB,KAC7C5G,EAAMsG,GAAQnG,KAAMH,EAAK2G,GAAyB,KAEnD,MACD,QACC,MAAM,IAAIvF,MAAO,mCAAqCsE,EAAME,WAc7D,OAZA5F,EAAMsG,GAAQnG,KAAMH,EAAKuG,GAAmB,SAC5CvG,EAAMsG,GAAQnG,KAAMH,EAAKwG,GAAmB,SACvCd,EAAMS,YACVnG,EAAMsG,GAAQnG,KAAMH,EAAKyG,GAAgB,OACzCzG,EAAMsG,GAAQnG,KAAMH,EAAK0G,GAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpBlG,EAAM0F,EAAMQ,KAAOlG,GAEpBA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,GAAUlF,KAAMH,EAElB,CC5EA,SAASqH,GAAQ3C,GAChB,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAASsH,GAAUzC,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAMwC,GAAQpC,GACdoC,GAAQpC,GAAQJ,CAElB,CC5BA,IAAI0C,GAAe/C,OAAO+C,aACtBC,GAAQC,MACRC,GAAUC,MAAMD,QAYpB,SAASE,GAAYlC,GACpB,IAAI1F,EAAM,CAAA,EAMV,OALAA,EAAI4F,UAAYF,EAAME,UACtB5F,EAAIgG,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DhG,EAAI8E,MAAQY,EAAMZ,MAClB9E,EAAI6H,MAAQnC,EAAMmC,OAAS,GAC3B7H,EAAI8H,QAAUpC,EAAMoC,QACb9H,CACR,CAmBA,SAAS+H,GAAmBC,GAC3B,IAAIC,EACAJ,EACAnC,EACAwC,EACAC,EACAnI,EACAoI,EACAzD,EACA0D,EAEJ,IAAMX,GAASM,GACd,MAAM,IAAI9E,UAAW,8DAAgE8E,EAAS,MAI/F,IAFAhI,EAAM,GACNoI,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GAAKJ,GADLmB,EAAQsC,EAAQrD,IAEf3E,GAAO0F,MACD,CAGN,GAFAuC,OAAgC,IAApBvC,EAAMM,YAClBN,EAAQkC,GAAYlC,IACRE,UACX,MAAM,IAAI1C,UAAW,oEAAqEyB,EAAG,cAAgBe,EAAQ,MAMtH,IAJKA,EAAMoC,UACVM,EAAM1C,EAAMoC,SAEbD,EAAQnC,EAAMmC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMzB,OAAQiC,IAErB,IAAK,IACJ3C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWT,EAAMU,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI/E,MAAO,iBAAmB8G,GAGtC,GAAqB,MAAhBxC,EAAMZ,MAAgB,CAG1B,GAFAY,EAAMZ,MAAQgB,SAAU0C,UAAWJ,GAAO,IAC1CA,GAAO,EACFZ,GAAO9B,EAAMZ,OACjB,MAAM,IAAI5B,UAAW,wCAA0CkF,EAAM,6BAA+B1C,EAAMZ,MAAQ,MAE9GY,EAAMZ,MAAQ,IAClBY,EAAMO,UAAW,EACjBP,EAAMZ,OAASY,EAAMZ,MAEtB,CACD,GAAKmD,GACqB,MAApBvC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWJ,GAAO,IAC9CA,GAAO,EACFZ,GAAO9B,EAAMM,WACjB,MAAM,IAAI9C,UAAW,4CAA8CkF,EAAM,6BAA+B1C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBiC,GAAY,EAEb,CAGF,OADAvC,EAAMG,IAAM2C,UAAWJ,GACd1C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECqC,IACJvC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,GAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMwB,GAAO9B,EAAMG,KAAQ,CAE1B,IADAsC,EAAMrC,SAAUJ,EAAMG,IAAK,KAChB,GAAKsC,EAAM,IACrB,MAAM,IAAI/G,MAAO,kCAAoCsE,EAAMG,KAE5DH,EAAMG,IAAQ2B,GAAOW,GACpB3D,OAAQkB,EAAMG,KACd0B,GAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLvC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,GAAcpB,GAC1B,MACD,QACC,MAAM,IAAItE,MAAO,sBAAwBsE,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIX,OAASQ,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMjB,EAASc,EAAMG,IAAKH,EAAMZ,OAASY,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMZ,QACjBY,EAAMG,IAAMyB,GAAU5B,EAAMG,IAAKH,EAAMZ,MAAOY,EAAMO,WAErDjG,GAAO0F,EAAMG,KAAO,GACpBuC,GAAO,CACP,CAEF,OAAOpI,CACR,CC3LA,IAAI2I,GAAK,6EAYT,SAASC,GAAOC,GACf,IAAInD,EAAQ,CACXoC,QAAae,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDhB,MAASgB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASoD,GAAgBjE,GACxB,IAAIkE,EACAf,EACAa,EACAG,EAKJ,IAHAhB,EAAS,GACTgB,EAAO,EACPH,EAAQF,GAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,GAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ8C,EAAOoB,KAAML,GAEdf,EAAOoB,KAAMR,GAAOC,IACpBG,EAAOL,GAAGQ,UACVN,EAAQF,GAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ8C,EAAOoB,KAAML,GAEPf,CACR,CClDA,SAASzD,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAASoJ,GAAQxE,GAChB,IAAImD,EACAsB,EACA3E,EAEJ,IAAMJ,GAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAKjG,IAHAmD,EAASuB,GAAU1E,IACnByE,EAAO,IAAI3B,MAAOa,UAAUtD,SACtB,GAAM8C,EACNrD,EAAI,EAAGA,EAAI2E,EAAKpE,OAAQP,IAC7B2E,EAAM3E,GAAM6D,UAAW7D,GAExB,OAAO6E,GAAYC,MAAO,KAAMH,EACjC,CC8BA,SAASI,GAAQ7E,EAAKH,GACrB,IAAIiF,EACAC,EACJ,IAAMrF,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBI,GAC3B,MAAM,IAAIxB,UAAWmG,GAAQ,gFAAiF3E,IAE/G,GAAoB,IAAfG,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAGR,GAAKG,EAAIK,OAASR,ECrDY,iBDsD7B,MAAM,IAAImF,WAAYR,GAAQ,6FAA8FxE,EAAIK,OAASR,IAI1I,IAFAiF,EAAM,GACNC,EAAMlF,EAGY,IAAP,EAAJkF,KACLD,GAAO9E,GAIK,KADb+E,KAAS,IAKT/E,GAAOA,EAER,OAAO8E,CACR,CE/EA,IAAIG,GAAO/H,KAAK+H,KCMhB,SAASC,GAAM5F,GAKd,IAJA,IACI6F,EADAnF,EAAM,GAIFV,EAAI,GAIVU,GAHDmF,EAAI7F,EAAI,MACRA,EAAIrC,EAAOkI,IAEJ,IAAMnF,EAEN,IAAMA,EAGd,OAAOA,CACR,CC8BA,SAASoF,GAAiB9F,GACzB,IAAI+F,EACAhE,EACArB,EACAsF,EACAzF,EACAsC,EACArC,EASJ,GALCuB,EADI/B,EAAI,GAAO,EAAIA,IAAMtC,EAClB,IAEA,IAGHsC,IAAMlD,GAAQkD,IAAMtC,EAIxB,OAAOqE,GAFPiE,EAAMT,GAAQ,IA3EQ,KA4EtB7E,EAAM6E,GAAQ,IA7EW,KAiF1B,GAAKvF,GAAMA,EAIV,OAAO+B,GAFPiE,EAAMT,GAAQ,IAlFQ,KAmFtB7E,EAAM,IAAM6E,GAAQ,IAAKU,KAI1B,GAAW,IAANjG,EAIJ,OAAO+B,GAFPiE,EAAMT,GAAQ,IAzFQ,KA0FtB7E,EAAM6E,GAAQ,IA3FW,KA2G1B,GAPA1C,GANA7C,ECnFD,SAAcA,GACb,OAAOpC,KAAKsE,IAAKlC,EAClB,CDiFKkC,CAAKlC,KAGTO,EAAI5C,EAAOqC,IAMXO,EAAIqF,GAAMrF,GACVsC,EElGD,SAAgB7C,GACf,IAAIU,EACAmF,EACArF,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAANV,EACJ,OAAOU,EAKR,IAHAwD,EA/Bc,IAkCR1D,EAAI,EAAGA,EAlCC,OAmCbqF,EAAQ,EAAJ7F,IACM,GACTA,EAAI6F,EAAI,EACRnF,GAAO,IAtCK,MAuCPwD,IACJA,EAAI1D,KAGLR,EAAI6F,EACJnF,GAAO,OAGG,IAANmF,GAAarF,EAAE0D,EA9CP,KAiCa1D,KAkB3B,OAAOE,CACR,CFkEKwF,CAAOrD,GAGNtC,EAEJyF,EAAMzF,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIqC,EAAE9B,OAAQP,IAC1B,GAAgB,MAAXqC,EAAGrC,GAAc,CACrBuF,EAAQvF,EAAI,EACZ,KACA,CAGFwF,GAAOD,CACP,CAuBD,OArBArF,EAAMH,EAAIsC,EACLmD,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTzF,EAAMA,EAAI6D,UAAWwB,IAGrBrF,EAAMA,EAAI6D,UAAW,GAItByB,EItHD,SAAetF,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,gEAEzB,MACEW,EAAI,IAEL,GAAKD,EPzByB,iBO0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGD6E,GAAQc,EADf9F,EAAIoF,GAAMpF,IACcG,CACzB,CJyFO4F,CADNN,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpCtF,EKzHD,SAAeA,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,4DAEzB,MACEW,EAAI,IAEL,GAAKD,ERzByB,iBQ0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGDA,EAAM6E,GAAQc,EADrB9F,EAAIoF,GAAMpF,GAEX,CL4FOgG,CAAM7F,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IA+InBxC,EAAOiE,EAAMtF,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index 0c3283b..0000000 --- a/stats.html +++ /dev/null @@ -1,6177 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From b829655118c8d035587a57f15eab63bd5204242c Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sat, 1 Apr 2023 16:20:56 +0000 Subject: [PATCH 046/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 49 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 62 - .github/workflows/cancel.yml | 56 - .github/workflows/close_pull_requests.yml | 44 - .github/workflows/examples.yml | 62 - .github/workflows/npm_downloads.yml | 108 - .github/workflows/productionize.yml | 798 --- .github/workflows/publish.yml | 242 - .github/workflows/test.yml | 97 - .github/workflows/test_bundles.yml | 180 - .github/workflows/test_coverage.yml | 123 - .github/workflows/test_install.yml | 83 - .gitignore | 188 - .npmignore | 227 - .npmrc | 28 - CHANGELOG.md | 5 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 6177 +++++++++++++++++++++ test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 45 files changed, 6196 insertions(+), 4123 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0fd4d6c..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index a7c621a..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2023-04-01T05:56:31.498Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 06a9a75..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index a00dbe5..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,56 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - uses: styfle/cancel-workflow-action@0.11.0 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index 576054a..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,44 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 7902a7d..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout the repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 0bf9073..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,108 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - uses: actions/upload-artifact@v3 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - uses: distributhor/workflow-webhook@v3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 3e8e2db..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,798 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - uses: actions/checkout@v3 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Format error messages: - - name: 'Replace double quotes with single quotes in rewritten format string error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\( \"([a-zA-Z0-9]+)\"/Error\( format\( '\1'/g" {} \; - - # Format string literal error messages: - - name: 'Replace double quotes with single quotes in rewritten string literal error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\(\"([a-zA-Z0-9]+)\"\)/Error\( format\( '\1' \)/g" {} \; - - # Format code: - - name: 'Replace double quotes with single quotes in inserted `require` calls' - run: | - find . -name "*.js" -exec sed -E -i "s/require\( ?\"@stdlib\/error-tools-fmtprodmsg\" ?\);/require\( '@stdlib\/error-tools-fmtprodmsg' \);/g" {} \; - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - uses: actions/checkout@v3 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - uses: act10ns/slack@v1 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From a9251482c437220a710ad341c004cc3fd8c20592 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 1 May 2023 08:09:28 +0000 Subject: [PATCH 047/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b9bb50e..bb891da 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.0.8", "@stdlib/string-left-pad": "^0.0.9", "@stdlib/string-repeat": "^0.0.9", - "@stdlib/string-right-pad": "^0.0.9" + "@stdlib/string-right-pad": "^0.0.9", + "@stdlib/error-tools-fmtprodmsg": "^0.0.2" }, "devDependencies": { "@stdlib/assert-is-string": "^0.0.8", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From 17aa2bb9bd977b9dcbfab2af9d1e901426958b7a Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 1 May 2023 16:04:30 +0000 Subject: [PATCH 048/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 6177 ---------------------------------------------------- 4 files changed, 6260 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 1881a26..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 2.0 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 7524794..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2023 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol.toStringTag:"";i=e()?function(r){var e,i,o,u,c;if(null==r)return t.call(r);i=r[a],c=a,e=null!=(u=r)&&n.call(u,c);try{r[a]=void 0}catch(e){return t.call(r)}return o=t.call(r),e?r[a]=i:delete r[a],o}:function(r){return t.call(r)};var o=i,u="function"==typeof Float32Array;var c=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var s="function"==typeof Float32Array?Float32Array:void 0;var f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(u&&t instanceof Float32Array||"[object Float32Array]"===o(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===c}catch(e){r=!1}return r}()?s:function(){throw new Error("not implemented")},g="function"==typeof Uint32Array;var p="function"==typeof Uint32Array?Uint32Array:null;var h="function"==typeof Uint32Array?Uint32Array:void 0;var d=function(){var r,e,t;if("function"!=typeof p)return!1;try{e=new p(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(g&&t instanceof Uint32Array||"[object Uint32Array]"===o(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?h:function(){throw new Error("not implemented")},v=new f(1);new d(v.buffer)[0]=2139095040;var m=v[0],w=new f(1);new d(w.buffer)[0]=4286578688;var y=w[0];var b=Math.floor,E="function"==typeof Object.defineProperty?Object.defineProperty:null;var _=Object.defineProperty,S=Object.prototype,T=S.toString,x=S.__defineGetter__,V=S.__defineSetter__,A=S.__lookupGetter__,j=S.__lookupSetter__;var F=function(){try{return E({},"x",{}),!0}catch(r){return!1}}()?_:function(r,e,t){var n,i,a,o;if("object"!=typeof r||null===r||"[object Array]"===T.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof t||null===t||"[object Array]"===T.call(t))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+t+"`.");if((i="value"in t)&&(A.call(r,e)||j.call(r,e)?(n=r.__proto__,r.__proto__=S,delete r[e],r[e]=t.value,r.__proto__=n):r[e]=t.value),a="get"in t,o="set"in t,i&&(a||o))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return a&&x&&x.call(r,e,t.get),o&&V&&V.call(r,e,t.set),r};function k(r,e,t){F(r,e,{configurable:!1,enumerable:!1,writable:!1,value:t})}function O(r){return"number"==typeof r}var I=Number,P=I.prototype.toString;var R=e();function N(r){return"object"==typeof r&&(r instanceof I||(R?function(r){try{return P.call(r),!0}catch(r){return!1}}(r):"[object Number]"===o(r)))}function $(r){return O(r)||N(r)}k($,"isPrimitive",O),k($,"isObject",N);var U=I.NEGATIVE_INFINITY;function C(r){return rU&&b(e=r)===e;var e}function G(r){return O(r)&&C(r)}function Z(r){return N(r)&&C(r.valueOf())}function M(r){return G(r)||Z(r)}function W(r){return G(r)&&r>=0}function L(r){return Z(r)&&r.valueOf()>=0}function X(r){return W(r)||L(r)}function Y(r){return"string"==typeof r}k(M,"isPrimitive",G),k(M,"isObject",Z),k(X,"isPrimitive",W),k(X,"isObject",L);var z=String.prototype.valueOf;var q=e();function B(r){return"object"==typeof r&&(r instanceof String||(q?function(r){try{return z.call(r),!0}catch(r){return!1}}(r):"[object String]"===o(r)))}function D(r){return Y(r)||B(r)}k(D,"isPrimitive",Y),k(D,"isObject",B);function H(r){return"number"==typeof r}function J(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=or.call(t,pr,"$1e"),t=or.call(t,gr,"e"),t=or.call(t,fr,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=or.call(t,ur,"e+0$1"),t=or.call(t,cr,"e-0$1"),r.alternate&&(t=or.call(t,lr,"$1."),t=or.call(t,sr,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===ar.call(r.specifier)?ar.call(t):ir.call(t)}function dr(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=wr(a)?String(n.arg):mr(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=hr(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=K(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=vr(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var _r=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Sr(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function Tr(r){var e,t,n,i;for(t=[],i=0,n=_r.exec(r);n;)(e=r.slice(i,_r.lastIndex-n[0].length)).length&&t.push(e),t.push(Sr(n)),i=_r.lastIndex,n=_r.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function xr(r){return"string"==typeof r}function Vr(r){var e,t,n;if(!xr(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=Tr(r),(t=new Array(arguments.length))[0]=e,n=1;n9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",r.length*e));for(t="",n=e;1==(1&n)&&(t+=r),0!==(n>>>=1);)r+=r;return t}var jr=Math.ceil;function Fr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=b(e))?"0"+t:"1"+t;return t}function kr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===y?"1":"0",r===m||r===y)return t+(i=Ar("1",8))+(n=Ar("0",23));if(r!=r)return t+(i=Ar("1",8))+(n="1"+Ar("0",22));if(0===r)return t+(i=Ar("0",8))+(n=Ar("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=b(r)),a=Fr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:Ar(i,n=jr(n))+r}(i=Fr(i+127),8,"0"),n=function(r,e,t){var n,i;if(!Y(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!W(e))throw new TypeError(Vr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:r+Ar(i,n=jr(n))}(n,23,"0").substring(0,23),t+i+n}export{kr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 9d358cc..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/native_class.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/number.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/is_integer.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/string-repeat/lib/repeat.js","../node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/math-base-special-ceil/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/left_pad.js","../node_modules/@stdlib/string-right-pad/lib/right_pad.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './native_class.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './float32array.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './uint32array.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isNumber from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isInteger from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isNonNegativeInteger from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isString from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport format from '@stdlib/string-format';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', str.length * n ) );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport repeat from '@stdlib/string-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport repeat from '@stdlib/string-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","nativeClass","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass$1","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","main","ctor","Float32Array$1","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","hasUint32Array","Uint32Array","Uint32Array$1","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","isNumber","Number$1","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","String","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","repeat","rpt","cnt","RangeError","ceil","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","len","p","lpad","rpad"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA+B,mBAAXV,OAA0BA,OAAOE,YAAc,GC8BtEO,EADIE,ICDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EHHgBC,EAAOC,EGK3B,GAAKL,QACJ,OAAOT,EAAMe,KAAMN,GAEpBE,EAAMF,EAAGV,GHRkBe,EGSJf,EAAvBW,EHPCG,OAFmBA,EGSAJ,IHFbL,EAAIW,KAAMF,EAAOC,GGKxB,IACCL,EAAGV,QAAgB,CAGnB,CAFC,MAAQiB,GACT,OAAOhB,EAAMe,KAAMN,EACnB,CAQD,OAPAG,EAAMZ,EAAMe,KAAMN,GAEbC,EACJD,EAAGV,GAAgBY,SAEZF,EAAGV,GAEJa,CACR,EC3BA,SAAsBH,GACrB,OAAOT,EAAMe,KAAMN,EACpB,EFUA,IAAAQ,EAAeX,EGjCXY,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBC,EAAiC,mBAAjBJ,aAAgCA,aAAe,KCAnE,IAAIK,EAAiC,mBAAjBL,aAAgCA,kBAAe,EC6BnE,IAAAM,ECbA,WACC,IAAIC,EACAC,ELMoBd,EKJxB,GAAmC,mBAAvBe,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bf,EKGNc,EADjBD,GLAER,GAAmBL,aAAiBM,cACb,0BAAzBb,EAAaO,KKCC,IAAbc,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAId,CAFC,MAAQb,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECJIC,EAA0C,mBAAhBC,YC4B9B,ICjCIX,EAAgC,mBAAhBW,YAA+BA,YAAc,KCAjE,IAAIV,EAAgC,mBAAhBU,YAA+BA,iBAAc,EC6BjE,IAAAC,ECbA,WACC,IAAIT,EACAC,ELMmBd,EKJvB,GAAkC,mBAAtBuB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBxB,EKINc,EADhBD,GLDEO,GAAkBpB,aAAiBqB,aACZ,yBAAzB5B,EAAaO,KKEC,IAAbc,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQX,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECQIO,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAX,EALIU,EAAc,GC9BdA,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbnB,EAA0C,mBAA1BtB,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eC/BxBC,EAAiB5C,OAAOC,UACxBF,EAAQ6C,EAAe1C,SACvB2C,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBC4BlC,IAAAC,ECpBA,WAEC,IAEC,OADAV,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ5B,GACT,OAAO,CACP,CACF,CDGKuC,GACaxB,EDgBlB,SAAyByB,EAAKC,EAAMC,GACnC,IAAIxD,EACAyD,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBxD,EAAMe,KAAMyC,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B1D,EAAMe,KAAM2C,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBR,EAAanC,KAAMyC,EAAKC,IACxBL,EAAarC,KAAMyC,EAAKC,IAGxBvD,EAAYsD,EAAIO,UAChBP,EAAIO,UAAYlB,SAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW7C,MAGzB2C,EAAIO,UAAY7D,GAEhBsD,EAAKC,GAASC,EAAW7C,OAG3B+C,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAI7B,MAAO,wHASlB,OANK4B,GAAUd,GACdA,EAAa/B,KAAMyC,EAAKC,EAAMC,EAAWM,KAErCH,GAAUb,GACdA,EAAajC,KAAMyC,EAAKC,EAAMC,EAAWO,KAEnCT,CACR,EGlEA,SAASU,EAA0BV,EAAKC,EAAM5C,GAC7C+B,EAAgBY,EAAKC,EAAM,CAC1BU,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxD,MAASA,GAEX,CCdA,SAASyD,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAA0D,EAAelD,OCMXlB,EAAWkB,EAAOnB,UAAUC,SCEhC,IAAIP,EAAMY,IAmBV,SAAS8D,EAAUzD,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,IAGjBzB,ECpBP,SAAeiB,GACd,IAEC,OADAV,EAASY,KAAMF,IACR,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDcUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEVA,SAASyD,EAAUzD,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCoBA8D,EAAAL,EAAA,cAAAG,GACAE,EAAAL,EAAA,WAAAI,GCnBA,IAAIE,EAAevD,EAAOwD,kBClB1B,SAASC,EAAWjE,GACnB,OACCA,EAAQgB,GACRhB,EAAQ4B,GCGDC,EADWqC,EDDXlE,KCEakE,EADtB,IAAoBA,CDCpB,CEAA,SAASD,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAET,CCLA,SAASiE,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAAMoE,UAEf,CCGA,SAASH,EAAWjE,GACnB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCXA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,GAAS,CAEX,CCLA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,EAAMoE,WAAa,CAErB,CCQA,SAASC,EAAsBrE,GAC9B,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCtBA,SAASsE,EAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCmCA8D,EAAAG,EAAA,cAAAL,GACAE,EAAAG,EAAA,WAAAJ,GCAAC,EAAAO,EAAA,cAAAT,GACAE,EAAAO,EAAA,WAAAR,GCpDA,IAAIO,EAAUG,OAAOlF,UAAU+E,QCQ/B,IAAIrF,EAAMY,IAmBV,SAAS2E,EAAUtE,GAClB,MAAsB,iBAAVA,IACNA,aAAiBuE,SAGjBxF,ECnBP,SAAeiB,GACd,IAEC,OADAoE,EAAQlE,KAAMF,IACP,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDaUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEjBA,SAASsE,EAAUtE,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCsBA8D,EAAAQ,EAAA,cAAAV,GACAE,EAAAQ,EAAA,WAAAT,GC7BA,SAASJ,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASwE,EAAOC,GACf,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAAS4E,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAajC,SAASC,GAAeC,GACvB,IAAIC,EACA3F,EACA2E,EAEJ,OAASe,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFA3F,EAAM0F,EAAMG,IACZlB,EAAImB,SAAU9F,EAAK,KACb+F,SAAUpB,GAAM,CACrB,IAAMjB,EAAU1D,GACf,MAAM,IAAIoB,MAAO,2BAA6BpB,GAE/C2E,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBe,EAAME,WAA8B,KAATD,KAC1ChB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACR3E,IAAS2E,GAAIpF,SAAUoG,GAClBD,EAAMM,YACVhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAE5CjG,EAAM,IAAMA,IAEZA,EAAM2E,EAAEpF,SAAUoG,GACZhB,GAAMe,EAAMM,UAENN,EAAMM,YACjBhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAF3CjG,EAAM,GAIF0F,EAAMQ,OACVlG,EAAM0F,EAAMQ,KAAOlG,IAGP,KAAT2F,IACCD,EAAMS,YACVnG,EAAM,KAAOA,GAEdA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,EAAUlF,KAAMH,IAEJ,IAAT2F,GACCD,EAAMS,WAAiC,MAApBnG,EAAIoG,OAAQ,KACnCpG,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAASuE,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAIoG,GAAMtE,KAAKsE,IACXhB,GAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAC7Bc,GAAU9B,OAAOlF,UAAUgH,QAK3BC,GAAoB,WACpBC,GAAoB,UACpBC,GAAiB,UACjBC,GAAuB,UACvBC,GAA0B,OAC1BC,GAAqB,QACrBC,GAAqB,gBAazB,SAASC,GAAcpB,GACtB,IAAIqB,EACA/G,EACAgH,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMtD,EAAUgC,EAAMG,KACrB,MAAM,IAAIzE,MAAO,yCAA2CpB,GAG7DgH,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJ5F,EAAMgH,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJhG,EAAMgH,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,GAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEX/G,EAAMgH,EAAEE,cAAeH,IAEvB/G,EAAMgH,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACXnG,EAAMsG,GAAQnG,KAAMH,EAAK6G,GAAoB,OAC7C7G,EAAMsG,GAAQnG,KAAMH,EAAK4G,GAAoB,KAC7C5G,EAAMsG,GAAQnG,KAAMH,EAAK2G,GAAyB,KAEnD,MACD,QACC,MAAM,IAAIvF,MAAO,mCAAqCsE,EAAME,WAc7D,OAZA5F,EAAMsG,GAAQnG,KAAMH,EAAKuG,GAAmB,SAC5CvG,EAAMsG,GAAQnG,KAAMH,EAAKwG,GAAmB,SACvCd,EAAMS,YACVnG,EAAMsG,GAAQnG,KAAMH,EAAKyG,GAAgB,OACzCzG,EAAMsG,GAAQnG,KAAMH,EAAK0G,GAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpBlG,EAAM0F,EAAMQ,KAAOlG,GAEpBA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,GAAUlF,KAAMH,EAElB,CC5EA,SAASqH,GAAQ3C,GAChB,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAASsH,GAAUzC,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAMwC,GAAQpC,GACdoC,GAAQpC,GAAQJ,CAElB,CC5BA,IAAI0C,GAAe/C,OAAO+C,aACtBC,GAAQC,MACRC,GAAUC,MAAMD,QAYpB,SAASE,GAAYlC,GACpB,IAAI1F,EAAM,CAAA,EAMV,OALAA,EAAI4F,UAAYF,EAAME,UACtB5F,EAAIgG,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DhG,EAAI8E,MAAQY,EAAMZ,MAClB9E,EAAI6H,MAAQnC,EAAMmC,OAAS,GAC3B7H,EAAI8H,QAAUpC,EAAMoC,QACb9H,CACR,CAmBA,SAAS+H,GAAmBC,GAC3B,IAAIC,EACAJ,EACAnC,EACAwC,EACAC,EACAnI,EACAoI,EACAzD,EACA0D,EAEJ,IAAMX,GAASM,GACd,MAAM,IAAI9E,UAAW,8DAAgE8E,EAAS,MAI/F,IAFAhI,EAAM,GACNoI,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GAAKJ,GADLmB,EAAQsC,EAAQrD,IAEf3E,GAAO0F,MACD,CAGN,GAFAuC,OAAgC,IAApBvC,EAAMM,YAClBN,EAAQkC,GAAYlC,IACRE,UACX,MAAM,IAAI1C,UAAW,oEAAqEyB,EAAG,cAAgBe,EAAQ,MAMtH,IAJKA,EAAMoC,UACVM,EAAM1C,EAAMoC,SAEbD,EAAQnC,EAAMmC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMzB,OAAQiC,IAErB,IAAK,IACJ3C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWT,EAAMU,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI/E,MAAO,iBAAmB8G,GAGtC,GAAqB,MAAhBxC,EAAMZ,MAAgB,CAG1B,GAFAY,EAAMZ,MAAQgB,SAAU0C,UAAWJ,GAAO,IAC1CA,GAAO,EACFZ,GAAO9B,EAAMZ,OACjB,MAAM,IAAI5B,UAAW,wCAA0CkF,EAAM,6BAA+B1C,EAAMZ,MAAQ,MAE9GY,EAAMZ,MAAQ,IAClBY,EAAMO,UAAW,EACjBP,EAAMZ,OAASY,EAAMZ,MAEtB,CACD,GAAKmD,GACqB,MAApBvC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWJ,GAAO,IAC9CA,GAAO,EACFZ,GAAO9B,EAAMM,WACjB,MAAM,IAAI9C,UAAW,4CAA8CkF,EAAM,6BAA+B1C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBiC,GAAY,EAEb,CAGF,OADAvC,EAAMG,IAAM2C,UAAWJ,GACd1C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECqC,IACJvC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,GAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMwB,GAAO9B,EAAMG,KAAQ,CAE1B,IADAsC,EAAMrC,SAAUJ,EAAMG,IAAK,KAChB,GAAKsC,EAAM,IACrB,MAAM,IAAI/G,MAAO,kCAAoCsE,EAAMG,KAE5DH,EAAMG,IAAQ2B,GAAOW,GACpB3D,OAAQkB,EAAMG,KACd0B,GAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLvC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,GAAcpB,GAC1B,MACD,QACC,MAAM,IAAItE,MAAO,sBAAwBsE,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIX,OAASQ,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMjB,EAASc,EAAMG,IAAKH,EAAMZ,OAASY,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMZ,QACjBY,EAAMG,IAAMyB,GAAU5B,EAAMG,IAAKH,EAAMZ,MAAOY,EAAMO,WAErDjG,GAAO0F,EAAMG,KAAO,GACpBuC,GAAO,CACP,CAEF,OAAOpI,CACR,CC3LA,IAAI2I,GAAK,6EAYT,SAASC,GAAOC,GACf,IAAInD,EAAQ,CACXoC,QAAae,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDhB,MAASgB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASoD,GAAgBjE,GACxB,IAAIkE,EACAf,EACAa,EACAG,EAKJ,IAHAhB,EAAS,GACTgB,EAAO,EACPH,EAAQF,GAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,GAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ8C,EAAOoB,KAAML,GAEdf,EAAOoB,KAAMR,GAAOC,IACpBG,EAAOL,GAAGQ,UACVN,EAAQF,GAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ8C,EAAOoB,KAAML,GAEPf,CACR,CClDA,SAASzD,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAASoJ,GAAQxE,GAChB,IAAImD,EACAsB,EACA3E,EAEJ,IAAMJ,GAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAKjG,IAHAmD,EAASuB,GAAU1E,IACnByE,EAAO,IAAI3B,MAAOa,UAAUtD,SACtB,GAAM8C,EACNrD,EAAI,EAAGA,EAAI2E,EAAKpE,OAAQP,IAC7B2E,EAAM3E,GAAM6D,UAAW7D,GAExB,OAAO6E,GAAYC,MAAO,KAAMH,EACjC,CC8BA,SAASI,GAAQ7E,EAAKH,GACrB,IAAIiF,EACAC,EACJ,IAAMrF,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBI,GAC3B,MAAM,IAAIxB,UAAWmG,GAAQ,gFAAiF3E,IAE/G,GAAoB,IAAfG,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAGR,GAAKG,EAAIK,OAASR,ECrDY,iBDsD7B,MAAM,IAAImF,WAAYR,GAAQ,6FAA8FxE,EAAIK,OAASR,IAI1I,IAFAiF,EAAM,GACNC,EAAMlF,EAGY,IAAP,EAAJkF,KACLD,GAAO9E,GAIK,KADb+E,KAAS,IAKT/E,GAAOA,EAER,OAAO8E,CACR,CE/EA,IAAIG,GAAO/H,KAAK+H,KCMhB,SAASC,GAAM5F,GAKd,IAJA,IACI6F,EADAnF,EAAM,GAIFV,EAAI,GAIVU,GAHDmF,EAAI7F,EAAI,MACRA,EAAIrC,EAAOkI,IAEJ,IAAMnF,EAEN,IAAMA,EAGd,OAAOA,CACR,CC8BA,SAASoF,GAAiB9F,GACzB,IAAI+F,EACAhE,EACArB,EACAsF,EACAzF,EACAsC,EACArC,EASJ,GALCuB,EADI/B,EAAI,GAAO,EAAIA,IAAMtC,EAClB,IAEA,IAGHsC,IAAMlD,GAAQkD,IAAMtC,EAIxB,OAAOqE,GAFPiE,EAAMT,GAAQ,IA3EQ,KA4EtB7E,EAAM6E,GAAQ,IA7EW,KAiF1B,GAAKvF,GAAMA,EAIV,OAAO+B,GAFPiE,EAAMT,GAAQ,IAlFQ,KAmFtB7E,EAAM,IAAM6E,GAAQ,IAAKU,KAI1B,GAAW,IAANjG,EAIJ,OAAO+B,GAFPiE,EAAMT,GAAQ,IAzFQ,KA0FtB7E,EAAM6E,GAAQ,IA3FW,KA2G1B,GAPA1C,GANA7C,ECnFD,SAAcA,GACb,OAAOpC,KAAKsE,IAAKlC,EAClB,CDiFKkC,CAAKlC,KAGTO,EAAI5C,EAAOqC,IAMXO,EAAIqF,GAAMrF,GACVsC,EElGD,SAAgB7C,GACf,IAAIU,EACAmF,EACArF,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAANV,EACJ,OAAOU,EAKR,IAHAwD,EA/Bc,IAkCR1D,EAAI,EAAGA,EAlCC,OAmCbqF,EAAQ,EAAJ7F,IACM,GACTA,EAAI6F,EAAI,EACRnF,GAAO,IAtCK,MAuCPwD,IACJA,EAAI1D,KAGLR,EAAI6F,EACJnF,GAAO,OAGG,IAANmF,GAAarF,EAAE0D,EA9CP,KAiCa1D,KAkB3B,OAAOE,CACR,CFkEKwF,CAAOrD,GAGNtC,EAEJyF,EAAMzF,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIqC,EAAE9B,OAAQP,IAC1B,GAAgB,MAAXqC,EAAGrC,GAAc,CACrBuF,EAAQvF,EAAI,EACZ,KACA,CAGFwF,GAAOD,CACP,CAuBD,OArBArF,EAAMH,EAAIsC,EACLmD,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTzF,EAAMA,EAAI6D,UAAWwB,IAGrBrF,EAAMA,EAAI6D,UAAW,GAItByB,EItHD,SAAetF,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,gEAEzB,MACEW,EAAI,IAEL,GAAKD,EPzByB,iBO0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGD6E,GAAQc,EADf9F,EAAIoF,GAAMpF,IACcG,CACzB,CJyFO4F,CADNN,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpCtF,EKzHD,SAAeA,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,4DAEzB,MACEW,EAAI,IAEL,GAAKD,ERzByB,iBQ0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGDA,EAAM6E,GAAQc,EADrB9F,EAAIoF,GAAMpF,GAEX,CL4FOgG,CAAM7F,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IA+InBxC,EAAOiE,EAAMtF,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index 114918a..0000000 --- a/stats.html +++ /dev/null @@ -1,6177 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From 7893e3796e1ef4efa70e63b24dd1e187eca55c14 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 1 May 2023 16:05:54 +0000 Subject: [PATCH 049/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 49 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 62 - .github/workflows/cancel.yml | 56 - .github/workflows/close_pull_requests.yml | 44 - .github/workflows/examples.yml | 62 - .github/workflows/npm_downloads.yml | 108 - .github/workflows/productionize.yml | 798 --- .github/workflows/publish.yml | 242 - .github/workflows/test.yml | 97 - .github/workflows/test_bundles.yml | 180 - .github/workflows/test_coverage.yml | 123 - .github/workflows/test_install.yml | 83 - .gitignore | 188 - .npmignore | 227 - .npmrc | 28 - CHANGELOG.md | 5 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 6177 +++++++++++++++++++++ test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 45 files changed, 6196 insertions(+), 4123 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0fd4d6c..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index 94a38e6..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2023-05-01T05:34:33.632Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 06a9a75..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index a00dbe5..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,56 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - uses: styfle/cancel-workflow-action@0.11.0 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index 576054a..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,44 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 7902a7d..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout the repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 0bf9073..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,108 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - uses: actions/upload-artifact@v3 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - uses: distributhor/workflow-webhook@v3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 3e8e2db..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,798 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - uses: actions/checkout@v3 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Format error messages: - - name: 'Replace double quotes with single quotes in rewritten format string error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\( \"([a-zA-Z0-9]+)\"/Error\( format\( '\1'/g" {} \; - - # Format string literal error messages: - - name: 'Replace double quotes with single quotes in rewritten string literal error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\(\"([a-zA-Z0-9]+)\"\)/Error\( format\( '\1' \)/g" {} \; - - # Format code: - - name: 'Replace double quotes with single quotes in inserted `require` calls' - run: | - find . -name "*.js" -exec sed -E -i "s/require\( ?\"@stdlib\/error-tools-fmtprodmsg\" ?\);/require\( '@stdlib\/error-tools-fmtprodmsg' \);/g" {} \; - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - uses: actions/checkout@v3 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - uses: act10ns/slack@v1 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 1d89ce88af87b0c52dff7bc429ef4213e298959d Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 1 Jun 2023 07:55:20 +0000 Subject: [PATCH 050/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b9bb50e..bb891da 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.0.8", "@stdlib/string-left-pad": "^0.0.9", "@stdlib/string-repeat": "^0.0.9", - "@stdlib/string-right-pad": "^0.0.9" + "@stdlib/string-right-pad": "^0.0.9", + "@stdlib/error-tools-fmtprodmsg": "^0.0.2" }, "devDependencies": { "@stdlib/assert-is-string": "^0.0.8", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From 025f000d4f48b308c50c02adb7451af25638ba01 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 1 Jun 2023 16:15:38 +0000 Subject: [PATCH 051/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 6177 ---------------------------------------------------- 4 files changed, 6260 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 1881a26..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 2.0 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 7524794..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2023 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol.toStringTag:"";i=e()?function(r){var e,i,o,u,c;if(null==r)return t.call(r);i=r[a],c=a,e=null!=(u=r)&&n.call(u,c);try{r[a]=void 0}catch(e){return t.call(r)}return o=t.call(r),e?r[a]=i:delete r[a],o}:function(r){return t.call(r)};var o=i,u="function"==typeof Float32Array;var c=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var s="function"==typeof Float32Array?Float32Array:void 0;var f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(u&&t instanceof Float32Array||"[object Float32Array]"===o(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===c}catch(e){r=!1}return r}()?s:function(){throw new Error("not implemented")},g="function"==typeof Uint32Array;var p="function"==typeof Uint32Array?Uint32Array:null;var h="function"==typeof Uint32Array?Uint32Array:void 0;var d=function(){var r,e,t;if("function"!=typeof p)return!1;try{e=new p(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(g&&t instanceof Uint32Array||"[object Uint32Array]"===o(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?h:function(){throw new Error("not implemented")},v=new f(1);new d(v.buffer)[0]=2139095040;var m=v[0],w=new f(1);new d(w.buffer)[0]=4286578688;var y=w[0];var b=Math.floor,E="function"==typeof Object.defineProperty?Object.defineProperty:null;var _=Object.defineProperty,S=Object.prototype,T=S.toString,x=S.__defineGetter__,V=S.__defineSetter__,A=S.__lookupGetter__,j=S.__lookupSetter__;var F=function(){try{return E({},"x",{}),!0}catch(r){return!1}}()?_:function(r,e,t){var n,i,a,o;if("object"!=typeof r||null===r||"[object Array]"===T.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof t||null===t||"[object Array]"===T.call(t))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+t+"`.");if((i="value"in t)&&(A.call(r,e)||j.call(r,e)?(n=r.__proto__,r.__proto__=S,delete r[e],r[e]=t.value,r.__proto__=n):r[e]=t.value),a="get"in t,o="set"in t,i&&(a||o))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return a&&x&&x.call(r,e,t.get),o&&V&&V.call(r,e,t.set),r};function k(r,e,t){F(r,e,{configurable:!1,enumerable:!1,writable:!1,value:t})}function O(r){return"number"==typeof r}var I=Number,P=I.prototype.toString;var R=e();function N(r){return"object"==typeof r&&(r instanceof I||(R?function(r){try{return P.call(r),!0}catch(r){return!1}}(r):"[object Number]"===o(r)))}function $(r){return O(r)||N(r)}k($,"isPrimitive",O),k($,"isObject",N);var U=I.NEGATIVE_INFINITY;function C(r){return rU&&b(e=r)===e;var e}function G(r){return O(r)&&C(r)}function Z(r){return N(r)&&C(r.valueOf())}function M(r){return G(r)||Z(r)}function W(r){return G(r)&&r>=0}function L(r){return Z(r)&&r.valueOf()>=0}function X(r){return W(r)||L(r)}function Y(r){return"string"==typeof r}k(M,"isPrimitive",G),k(M,"isObject",Z),k(X,"isPrimitive",W),k(X,"isObject",L);var z=String.prototype.valueOf;var q=e();function B(r){return"object"==typeof r&&(r instanceof String||(q?function(r){try{return z.call(r),!0}catch(r){return!1}}(r):"[object String]"===o(r)))}function D(r){return Y(r)||B(r)}k(D,"isPrimitive",Y),k(D,"isObject",B);function H(r){return"number"==typeof r}function J(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=or.call(t,pr,"$1e"),t=or.call(t,gr,"e"),t=or.call(t,fr,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=or.call(t,ur,"e+0$1"),t=or.call(t,cr,"e-0$1"),r.alternate&&(t=or.call(t,lr,"$1."),t=or.call(t,sr,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===ar.call(r.specifier)?ar.call(t):ir.call(t)}function dr(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=wr(a)?String(n.arg):mr(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=hr(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=K(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=vr(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var _r=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Sr(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function Tr(r){var e,t,n,i;for(t=[],i=0,n=_r.exec(r);n;)(e=r.slice(i,_r.lastIndex-n[0].length)).length&&t.push(e),t.push(Sr(n)),i=_r.lastIndex,n=_r.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function xr(r){return"string"==typeof r}function Vr(r){var e,t,n;if(!xr(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=Tr(r),(t=new Array(arguments.length))[0]=e,n=1;n9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",r.length*e));for(t="",n=e;1==(1&n)&&(t+=r),0!==(n>>>=1);)r+=r;return t}var jr=Math.ceil;function Fr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=b(e))?"0"+t:"1"+t;return t}function kr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===y?"1":"0",r===m||r===y)return t+(i=Ar("1",8))+(n=Ar("0",23));if(r!=r)return t+(i=Ar("1",8))+(n="1"+Ar("0",22));if(0===r)return t+(i=Ar("0",8))+(n=Ar("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=b(r)),a=Fr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:Ar(i,n=jr(n))+r}(i=Fr(i+127),8,"0"),n=function(r,e,t){var n,i;if(!Y(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!W(e))throw new TypeError(Vr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:r+Ar(i,n=jr(n))}(n,23,"0").substring(0,23),t+i+n}export{kr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 9d358cc..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/native_class.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/number.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/is_integer.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/string-repeat/lib/repeat.js","../node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/math-base-special-ceil/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/left_pad.js","../node_modules/@stdlib/string-right-pad/lib/right_pad.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './native_class.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './float32array.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './uint32array.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isNumber from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isInteger from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isNonNegativeInteger from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isString from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport format from '@stdlib/string-format';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', str.length * n ) );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport repeat from '@stdlib/string-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport repeat from '@stdlib/string-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","nativeClass","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass$1","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","main","ctor","Float32Array$1","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","hasUint32Array","Uint32Array","Uint32Array$1","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","isNumber","Number$1","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","String","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","repeat","rpt","cnt","RangeError","ceil","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","len","p","lpad","rpad"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA+B,mBAAXV,OAA0BA,OAAOE,YAAc,GC8BtEO,EADIE,ICDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EHHgBC,EAAOC,EGK3B,GAAKL,QACJ,OAAOT,EAAMe,KAAMN,GAEpBE,EAAMF,EAAGV,GHRkBe,EGSJf,EAAvBW,EHPCG,OAFmBA,EGSAJ,IHFbL,EAAIW,KAAMF,EAAOC,GGKxB,IACCL,EAAGV,QAAgB,CAGnB,CAFC,MAAQiB,GACT,OAAOhB,EAAMe,KAAMN,EACnB,CAQD,OAPAG,EAAMZ,EAAMe,KAAMN,GAEbC,EACJD,EAAGV,GAAgBY,SAEZF,EAAGV,GAEJa,CACR,EC3BA,SAAsBH,GACrB,OAAOT,EAAMe,KAAMN,EACpB,EFUA,IAAAQ,EAAeX,EGjCXY,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBC,EAAiC,mBAAjBJ,aAAgCA,aAAe,KCAnE,IAAIK,EAAiC,mBAAjBL,aAAgCA,kBAAe,EC6BnE,IAAAM,ECbA,WACC,IAAIC,EACAC,ELMoBd,EKJxB,GAAmC,mBAAvBe,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bf,EKGNc,EADjBD,GLAER,GAAmBL,aAAiBM,cACb,0BAAzBb,EAAaO,KKCC,IAAbc,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAId,CAFC,MAAQb,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECJIC,EAA0C,mBAAhBC,YC4B9B,ICjCIX,EAAgC,mBAAhBW,YAA+BA,YAAc,KCAjE,IAAIV,EAAgC,mBAAhBU,YAA+BA,iBAAc,EC6BjE,IAAAC,ECbA,WACC,IAAIT,EACAC,ELMmBd,EKJvB,GAAkC,mBAAtBuB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBxB,EKINc,EADhBD,GLDEO,GAAkBpB,aAAiBqB,aACZ,yBAAzB5B,EAAaO,KKEC,IAAbc,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQX,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECQIO,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAX,EALIU,EAAc,GC9BdA,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbnB,EAA0C,mBAA1BtB,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eC/BxBC,EAAiB5C,OAAOC,UACxBF,EAAQ6C,EAAe1C,SACvB2C,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBC4BlC,IAAAC,ECpBA,WAEC,IAEC,OADAV,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ5B,GACT,OAAO,CACP,CACF,CDGKuC,GACaxB,EDgBlB,SAAyByB,EAAKC,EAAMC,GACnC,IAAIxD,EACAyD,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBxD,EAAMe,KAAMyC,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B1D,EAAMe,KAAM2C,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBR,EAAanC,KAAMyC,EAAKC,IACxBL,EAAarC,KAAMyC,EAAKC,IAGxBvD,EAAYsD,EAAIO,UAChBP,EAAIO,UAAYlB,SAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW7C,MAGzB2C,EAAIO,UAAY7D,GAEhBsD,EAAKC,GAASC,EAAW7C,OAG3B+C,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAI7B,MAAO,wHASlB,OANK4B,GAAUd,GACdA,EAAa/B,KAAMyC,EAAKC,EAAMC,EAAWM,KAErCH,GAAUb,GACdA,EAAajC,KAAMyC,EAAKC,EAAMC,EAAWO,KAEnCT,CACR,EGlEA,SAASU,EAA0BV,EAAKC,EAAM5C,GAC7C+B,EAAgBY,EAAKC,EAAM,CAC1BU,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxD,MAASA,GAEX,CCdA,SAASyD,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAA0D,EAAelD,OCMXlB,EAAWkB,EAAOnB,UAAUC,SCEhC,IAAIP,EAAMY,IAmBV,SAAS8D,EAAUzD,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,IAGjBzB,ECpBP,SAAeiB,GACd,IAEC,OADAV,EAASY,KAAMF,IACR,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDcUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEVA,SAASyD,EAAUzD,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCoBA8D,EAAAL,EAAA,cAAAG,GACAE,EAAAL,EAAA,WAAAI,GCnBA,IAAIE,EAAevD,EAAOwD,kBClB1B,SAASC,EAAWjE,GACnB,OACCA,EAAQgB,GACRhB,EAAQ4B,GCGDC,EADWqC,EDDXlE,KCEakE,EADtB,IAAoBA,CDCpB,CEAA,SAASD,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAET,CCLA,SAASiE,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAAMoE,UAEf,CCGA,SAASH,EAAWjE,GACnB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCXA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,GAAS,CAEX,CCLA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,EAAMoE,WAAa,CAErB,CCQA,SAASC,EAAsBrE,GAC9B,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCtBA,SAASsE,EAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCmCA8D,EAAAG,EAAA,cAAAL,GACAE,EAAAG,EAAA,WAAAJ,GCAAC,EAAAO,EAAA,cAAAT,GACAE,EAAAO,EAAA,WAAAR,GCpDA,IAAIO,EAAUG,OAAOlF,UAAU+E,QCQ/B,IAAIrF,EAAMY,IAmBV,SAAS2E,EAAUtE,GAClB,MAAsB,iBAAVA,IACNA,aAAiBuE,SAGjBxF,ECnBP,SAAeiB,GACd,IAEC,OADAoE,EAAQlE,KAAMF,IACP,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDaUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEjBA,SAASsE,EAAUtE,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCsBA8D,EAAAQ,EAAA,cAAAV,GACAE,EAAAQ,EAAA,WAAAT,GC7BA,SAASJ,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASwE,EAAOC,GACf,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAAS4E,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAajC,SAASC,GAAeC,GACvB,IAAIC,EACA3F,EACA2E,EAEJ,OAASe,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFA3F,EAAM0F,EAAMG,IACZlB,EAAImB,SAAU9F,EAAK,KACb+F,SAAUpB,GAAM,CACrB,IAAMjB,EAAU1D,GACf,MAAM,IAAIoB,MAAO,2BAA6BpB,GAE/C2E,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBe,EAAME,WAA8B,KAATD,KAC1ChB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACR3E,IAAS2E,GAAIpF,SAAUoG,GAClBD,EAAMM,YACVhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAE5CjG,EAAM,IAAMA,IAEZA,EAAM2E,EAAEpF,SAAUoG,GACZhB,GAAMe,EAAMM,UAENN,EAAMM,YACjBhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAF3CjG,EAAM,GAIF0F,EAAMQ,OACVlG,EAAM0F,EAAMQ,KAAOlG,IAGP,KAAT2F,IACCD,EAAMS,YACVnG,EAAM,KAAOA,GAEdA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,EAAUlF,KAAMH,IAEJ,IAAT2F,GACCD,EAAMS,WAAiC,MAApBnG,EAAIoG,OAAQ,KACnCpG,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAASuE,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAIoG,GAAMtE,KAAKsE,IACXhB,GAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAC7Bc,GAAU9B,OAAOlF,UAAUgH,QAK3BC,GAAoB,WACpBC,GAAoB,UACpBC,GAAiB,UACjBC,GAAuB,UACvBC,GAA0B,OAC1BC,GAAqB,QACrBC,GAAqB,gBAazB,SAASC,GAAcpB,GACtB,IAAIqB,EACA/G,EACAgH,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMtD,EAAUgC,EAAMG,KACrB,MAAM,IAAIzE,MAAO,yCAA2CpB,GAG7DgH,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJ5F,EAAMgH,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJhG,EAAMgH,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,GAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEX/G,EAAMgH,EAAEE,cAAeH,IAEvB/G,EAAMgH,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACXnG,EAAMsG,GAAQnG,KAAMH,EAAK6G,GAAoB,OAC7C7G,EAAMsG,GAAQnG,KAAMH,EAAK4G,GAAoB,KAC7C5G,EAAMsG,GAAQnG,KAAMH,EAAK2G,GAAyB,KAEnD,MACD,QACC,MAAM,IAAIvF,MAAO,mCAAqCsE,EAAME,WAc7D,OAZA5F,EAAMsG,GAAQnG,KAAMH,EAAKuG,GAAmB,SAC5CvG,EAAMsG,GAAQnG,KAAMH,EAAKwG,GAAmB,SACvCd,EAAMS,YACVnG,EAAMsG,GAAQnG,KAAMH,EAAKyG,GAAgB,OACzCzG,EAAMsG,GAAQnG,KAAMH,EAAK0G,GAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpBlG,EAAM0F,EAAMQ,KAAOlG,GAEpBA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,GAAUlF,KAAMH,EAElB,CC5EA,SAASqH,GAAQ3C,GAChB,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAASsH,GAAUzC,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAMwC,GAAQpC,GACdoC,GAAQpC,GAAQJ,CAElB,CC5BA,IAAI0C,GAAe/C,OAAO+C,aACtBC,GAAQC,MACRC,GAAUC,MAAMD,QAYpB,SAASE,GAAYlC,GACpB,IAAI1F,EAAM,CAAA,EAMV,OALAA,EAAI4F,UAAYF,EAAME,UACtB5F,EAAIgG,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DhG,EAAI8E,MAAQY,EAAMZ,MAClB9E,EAAI6H,MAAQnC,EAAMmC,OAAS,GAC3B7H,EAAI8H,QAAUpC,EAAMoC,QACb9H,CACR,CAmBA,SAAS+H,GAAmBC,GAC3B,IAAIC,EACAJ,EACAnC,EACAwC,EACAC,EACAnI,EACAoI,EACAzD,EACA0D,EAEJ,IAAMX,GAASM,GACd,MAAM,IAAI9E,UAAW,8DAAgE8E,EAAS,MAI/F,IAFAhI,EAAM,GACNoI,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GAAKJ,GADLmB,EAAQsC,EAAQrD,IAEf3E,GAAO0F,MACD,CAGN,GAFAuC,OAAgC,IAApBvC,EAAMM,YAClBN,EAAQkC,GAAYlC,IACRE,UACX,MAAM,IAAI1C,UAAW,oEAAqEyB,EAAG,cAAgBe,EAAQ,MAMtH,IAJKA,EAAMoC,UACVM,EAAM1C,EAAMoC,SAEbD,EAAQnC,EAAMmC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMzB,OAAQiC,IAErB,IAAK,IACJ3C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWT,EAAMU,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI/E,MAAO,iBAAmB8G,GAGtC,GAAqB,MAAhBxC,EAAMZ,MAAgB,CAG1B,GAFAY,EAAMZ,MAAQgB,SAAU0C,UAAWJ,GAAO,IAC1CA,GAAO,EACFZ,GAAO9B,EAAMZ,OACjB,MAAM,IAAI5B,UAAW,wCAA0CkF,EAAM,6BAA+B1C,EAAMZ,MAAQ,MAE9GY,EAAMZ,MAAQ,IAClBY,EAAMO,UAAW,EACjBP,EAAMZ,OAASY,EAAMZ,MAEtB,CACD,GAAKmD,GACqB,MAApBvC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWJ,GAAO,IAC9CA,GAAO,EACFZ,GAAO9B,EAAMM,WACjB,MAAM,IAAI9C,UAAW,4CAA8CkF,EAAM,6BAA+B1C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBiC,GAAY,EAEb,CAGF,OADAvC,EAAMG,IAAM2C,UAAWJ,GACd1C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECqC,IACJvC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,GAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMwB,GAAO9B,EAAMG,KAAQ,CAE1B,IADAsC,EAAMrC,SAAUJ,EAAMG,IAAK,KAChB,GAAKsC,EAAM,IACrB,MAAM,IAAI/G,MAAO,kCAAoCsE,EAAMG,KAE5DH,EAAMG,IAAQ2B,GAAOW,GACpB3D,OAAQkB,EAAMG,KACd0B,GAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLvC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,GAAcpB,GAC1B,MACD,QACC,MAAM,IAAItE,MAAO,sBAAwBsE,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIX,OAASQ,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMjB,EAASc,EAAMG,IAAKH,EAAMZ,OAASY,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMZ,QACjBY,EAAMG,IAAMyB,GAAU5B,EAAMG,IAAKH,EAAMZ,MAAOY,EAAMO,WAErDjG,GAAO0F,EAAMG,KAAO,GACpBuC,GAAO,CACP,CAEF,OAAOpI,CACR,CC3LA,IAAI2I,GAAK,6EAYT,SAASC,GAAOC,GACf,IAAInD,EAAQ,CACXoC,QAAae,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDhB,MAASgB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASoD,GAAgBjE,GACxB,IAAIkE,EACAf,EACAa,EACAG,EAKJ,IAHAhB,EAAS,GACTgB,EAAO,EACPH,EAAQF,GAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,GAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ8C,EAAOoB,KAAML,GAEdf,EAAOoB,KAAMR,GAAOC,IACpBG,EAAOL,GAAGQ,UACVN,EAAQF,GAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ8C,EAAOoB,KAAML,GAEPf,CACR,CClDA,SAASzD,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAASoJ,GAAQxE,GAChB,IAAImD,EACAsB,EACA3E,EAEJ,IAAMJ,GAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAKjG,IAHAmD,EAASuB,GAAU1E,IACnByE,EAAO,IAAI3B,MAAOa,UAAUtD,SACtB,GAAM8C,EACNrD,EAAI,EAAGA,EAAI2E,EAAKpE,OAAQP,IAC7B2E,EAAM3E,GAAM6D,UAAW7D,GAExB,OAAO6E,GAAYC,MAAO,KAAMH,EACjC,CC8BA,SAASI,GAAQ7E,EAAKH,GACrB,IAAIiF,EACAC,EACJ,IAAMrF,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBI,GAC3B,MAAM,IAAIxB,UAAWmG,GAAQ,gFAAiF3E,IAE/G,GAAoB,IAAfG,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAGR,GAAKG,EAAIK,OAASR,ECrDY,iBDsD7B,MAAM,IAAImF,WAAYR,GAAQ,6FAA8FxE,EAAIK,OAASR,IAI1I,IAFAiF,EAAM,GACNC,EAAMlF,EAGY,IAAP,EAAJkF,KACLD,GAAO9E,GAIK,KADb+E,KAAS,IAKT/E,GAAOA,EAER,OAAO8E,CACR,CE/EA,IAAIG,GAAO/H,KAAK+H,KCMhB,SAASC,GAAM5F,GAKd,IAJA,IACI6F,EADAnF,EAAM,GAIFV,EAAI,GAIVU,GAHDmF,EAAI7F,EAAI,MACRA,EAAIrC,EAAOkI,IAEJ,IAAMnF,EAEN,IAAMA,EAGd,OAAOA,CACR,CC8BA,SAASoF,GAAiB9F,GACzB,IAAI+F,EACAhE,EACArB,EACAsF,EACAzF,EACAsC,EACArC,EASJ,GALCuB,EADI/B,EAAI,GAAO,EAAIA,IAAMtC,EAClB,IAEA,IAGHsC,IAAMlD,GAAQkD,IAAMtC,EAIxB,OAAOqE,GAFPiE,EAAMT,GAAQ,IA3EQ,KA4EtB7E,EAAM6E,GAAQ,IA7EW,KAiF1B,GAAKvF,GAAMA,EAIV,OAAO+B,GAFPiE,EAAMT,GAAQ,IAlFQ,KAmFtB7E,EAAM,IAAM6E,GAAQ,IAAKU,KAI1B,GAAW,IAANjG,EAIJ,OAAO+B,GAFPiE,EAAMT,GAAQ,IAzFQ,KA0FtB7E,EAAM6E,GAAQ,IA3FW,KA2G1B,GAPA1C,GANA7C,ECnFD,SAAcA,GACb,OAAOpC,KAAKsE,IAAKlC,EAClB,CDiFKkC,CAAKlC,KAGTO,EAAI5C,EAAOqC,IAMXO,EAAIqF,GAAMrF,GACVsC,EElGD,SAAgB7C,GACf,IAAIU,EACAmF,EACArF,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAANV,EACJ,OAAOU,EAKR,IAHAwD,EA/Bc,IAkCR1D,EAAI,EAAGA,EAlCC,OAmCbqF,EAAQ,EAAJ7F,IACM,GACTA,EAAI6F,EAAI,EACRnF,GAAO,IAtCK,MAuCPwD,IACJA,EAAI1D,KAGLR,EAAI6F,EACJnF,GAAO,OAGG,IAANmF,GAAarF,EAAE0D,EA9CP,KAiCa1D,KAkB3B,OAAOE,CACR,CFkEKwF,CAAOrD,GAGNtC,EAEJyF,EAAMzF,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIqC,EAAE9B,OAAQP,IAC1B,GAAgB,MAAXqC,EAAGrC,GAAc,CACrBuF,EAAQvF,EAAI,EACZ,KACA,CAGFwF,GAAOD,CACP,CAuBD,OArBArF,EAAMH,EAAIsC,EACLmD,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTzF,EAAMA,EAAI6D,UAAWwB,IAGrBrF,EAAMA,EAAI6D,UAAW,GAItByB,EItHD,SAAetF,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,gEAEzB,MACEW,EAAI,IAEL,GAAKD,EPzByB,iBO0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGD6E,GAAQc,EADf9F,EAAIoF,GAAMpF,IACcG,CACzB,CJyFO4F,CADNN,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpCtF,EKzHD,SAAeA,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,4DAEzB,MACEW,EAAI,IAEL,GAAKD,ERzByB,iBQ0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGDA,EAAM6E,GAAQc,EADrB9F,EAAIoF,GAAMpF,GAEX,CL4FOgG,CAAM7F,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IA+InBxC,EAAOiE,EAAMtF,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index 698260f..0000000 --- a/stats.html +++ /dev/null @@ -1,6177 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From 1921da3761337927a3ae0bab7dd5f5dcd394f671 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 1 Jun 2023 16:16:45 +0000 Subject: [PATCH 052/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 49 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 62 - .github/workflows/cancel.yml | 56 - .github/workflows/close_pull_requests.yml | 44 - .github/workflows/examples.yml | 62 - .github/workflows/npm_downloads.yml | 108 - .github/workflows/productionize.yml | 798 --- .github/workflows/publish.yml | 242 - .github/workflows/test.yml | 97 - .github/workflows/test_bundles.yml | 180 - .github/workflows/test_coverage.yml | 123 - .github/workflows/test_install.yml | 83 - .gitignore | 188 - .npmignore | 227 - .npmrc | 28 - CHANGELOG.md | 5 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 6177 +++++++++++++++++++++ test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 45 files changed, 6196 insertions(+), 4123 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0fd4d6c..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index 553f6e8..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2023-06-01T05:06:45.286Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 06a9a75..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index a00dbe5..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,56 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - uses: styfle/cancel-workflow-action@0.11.0 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index 576054a..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,44 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 7902a7d..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout the repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 0bf9073..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,108 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - uses: actions/upload-artifact@v3 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - uses: distributhor/workflow-webhook@v3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 3e8e2db..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,798 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - uses: actions/checkout@v3 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Format error messages: - - name: 'Replace double quotes with single quotes in rewritten format string error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\( \"([a-zA-Z0-9]+)\"/Error\( format\( '\1'/g" {} \; - - # Format string literal error messages: - - name: 'Replace double quotes with single quotes in rewritten string literal error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\(\"([a-zA-Z0-9]+)\"\)/Error\( format\( '\1' \)/g" {} \; - - # Format code: - - name: 'Replace double quotes with single quotes in inserted `require` calls' - run: | - find . -name "*.js" -exec sed -E -i "s/require\( ?\"@stdlib\/error-tools-fmtprodmsg\" ?\);/require\( '@stdlib\/error-tools-fmtprodmsg' \);/g" {} \; - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - uses: actions/checkout@v3 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - uses: act10ns/slack@v1 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 658aa88c5e72e0774bd4b06d61d113933324c107 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sat, 1 Jul 2023 07:43:31 +0000 Subject: [PATCH 053/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b9bb50e..bb891da 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.0.8", "@stdlib/string-left-pad": "^0.0.9", "@stdlib/string-repeat": "^0.0.9", - "@stdlib/string-right-pad": "^0.0.9" + "@stdlib/string-right-pad": "^0.0.9", + "@stdlib/error-tools-fmtprodmsg": "^0.0.2" }, "devDependencies": { "@stdlib/assert-is-string": "^0.0.8", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From 3c214cd3682362decf5d753da93d1b1fd9bb5d53 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sat, 1 Jul 2023 16:38:04 +0000 Subject: [PATCH 054/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 6177 ---------------------------------------------------- 4 files changed, 6260 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 1881a26..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 2.0 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 7524794..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2023 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol.toStringTag:"";i=e()?function(r){var e,i,o,u,c;if(null==r)return t.call(r);i=r[a],c=a,e=null!=(u=r)&&n.call(u,c);try{r[a]=void 0}catch(e){return t.call(r)}return o=t.call(r),e?r[a]=i:delete r[a],o}:function(r){return t.call(r)};var o=i,u="function"==typeof Float32Array;var c=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var s="function"==typeof Float32Array?Float32Array:void 0;var f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(u&&t instanceof Float32Array||"[object Float32Array]"===o(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===c}catch(e){r=!1}return r}()?s:function(){throw new Error("not implemented")},g="function"==typeof Uint32Array;var p="function"==typeof Uint32Array?Uint32Array:null;var h="function"==typeof Uint32Array?Uint32Array:void 0;var d=function(){var r,e,t;if("function"!=typeof p)return!1;try{e=new p(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(g&&t instanceof Uint32Array||"[object Uint32Array]"===o(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?h:function(){throw new Error("not implemented")},v=new f(1);new d(v.buffer)[0]=2139095040;var m=v[0],w=new f(1);new d(w.buffer)[0]=4286578688;var y=w[0];var b=Math.floor,E="function"==typeof Object.defineProperty?Object.defineProperty:null;var _=Object.defineProperty,S=Object.prototype,T=S.toString,x=S.__defineGetter__,V=S.__defineSetter__,A=S.__lookupGetter__,j=S.__lookupSetter__;var F=function(){try{return E({},"x",{}),!0}catch(r){return!1}}()?_:function(r,e,t){var n,i,a,o;if("object"!=typeof r||null===r||"[object Array]"===T.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof t||null===t||"[object Array]"===T.call(t))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+t+"`.");if((i="value"in t)&&(A.call(r,e)||j.call(r,e)?(n=r.__proto__,r.__proto__=S,delete r[e],r[e]=t.value,r.__proto__=n):r[e]=t.value),a="get"in t,o="set"in t,i&&(a||o))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return a&&x&&x.call(r,e,t.get),o&&V&&V.call(r,e,t.set),r};function k(r,e,t){F(r,e,{configurable:!1,enumerable:!1,writable:!1,value:t})}function O(r){return"number"==typeof r}var I=Number,P=I.prototype.toString;var R=e();function N(r){return"object"==typeof r&&(r instanceof I||(R?function(r){try{return P.call(r),!0}catch(r){return!1}}(r):"[object Number]"===o(r)))}function $(r){return O(r)||N(r)}k($,"isPrimitive",O),k($,"isObject",N);var U=I.NEGATIVE_INFINITY;function C(r){return rU&&b(e=r)===e;var e}function G(r){return O(r)&&C(r)}function Z(r){return N(r)&&C(r.valueOf())}function M(r){return G(r)||Z(r)}function W(r){return G(r)&&r>=0}function L(r){return Z(r)&&r.valueOf()>=0}function X(r){return W(r)||L(r)}function Y(r){return"string"==typeof r}k(M,"isPrimitive",G),k(M,"isObject",Z),k(X,"isPrimitive",W),k(X,"isObject",L);var z=String.prototype.valueOf;var q=e();function B(r){return"object"==typeof r&&(r instanceof String||(q?function(r){try{return z.call(r),!0}catch(r){return!1}}(r):"[object String]"===o(r)))}function D(r){return Y(r)||B(r)}k(D,"isPrimitive",Y),k(D,"isObject",B);function H(r){return"number"==typeof r}function J(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=or.call(t,pr,"$1e"),t=or.call(t,gr,"e"),t=or.call(t,fr,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=or.call(t,ur,"e+0$1"),t=or.call(t,cr,"e-0$1"),r.alternate&&(t=or.call(t,lr,"$1."),t=or.call(t,sr,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===ar.call(r.specifier)?ar.call(t):ir.call(t)}function dr(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=wr(a)?String(n.arg):mr(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=hr(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=K(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=vr(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var _r=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Sr(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function Tr(r){var e,t,n,i;for(t=[],i=0,n=_r.exec(r);n;)(e=r.slice(i,_r.lastIndex-n[0].length)).length&&t.push(e),t.push(Sr(n)),i=_r.lastIndex,n=_r.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function xr(r){return"string"==typeof r}function Vr(r){var e,t,n;if(!xr(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=Tr(r),(t=new Array(arguments.length))[0]=e,n=1;n9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",r.length*e));for(t="",n=e;1==(1&n)&&(t+=r),0!==(n>>>=1);)r+=r;return t}var jr=Math.ceil;function Fr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=b(e))?"0"+t:"1"+t;return t}function kr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===y?"1":"0",r===m||r===y)return t+(i=Ar("1",8))+(n=Ar("0",23));if(r!=r)return t+(i=Ar("1",8))+(n="1"+Ar("0",22));if(0===r)return t+(i=Ar("0",8))+(n=Ar("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=b(r)),a=Fr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:Ar(i,n=jr(n))+r}(i=Fr(i+127),8,"0"),n=function(r,e,t){var n,i;if(!Y(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!W(e))throw new TypeError(Vr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:r+Ar(i,n=jr(n))}(n,23,"0").substring(0,23),t+i+n}export{kr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 9d358cc..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/native_class.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/number.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/is_integer.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/string-repeat/lib/repeat.js","../node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/math-base-special-ceil/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/left_pad.js","../node_modules/@stdlib/string-right-pad/lib/right_pad.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './native_class.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './float32array.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './uint32array.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isNumber from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isInteger from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isNonNegativeInteger from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isString from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport format from '@stdlib/string-format';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', str.length * n ) );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport repeat from '@stdlib/string-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport repeat from '@stdlib/string-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","nativeClass","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass$1","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","main","ctor","Float32Array$1","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","hasUint32Array","Uint32Array","Uint32Array$1","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","isNumber","Number$1","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","String","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","repeat","rpt","cnt","RangeError","ceil","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","len","p","lpad","rpad"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA+B,mBAAXV,OAA0BA,OAAOE,YAAc,GC8BtEO,EADIE,ICDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EHHgBC,EAAOC,EGK3B,GAAKL,QACJ,OAAOT,EAAMe,KAAMN,GAEpBE,EAAMF,EAAGV,GHRkBe,EGSJf,EAAvBW,EHPCG,OAFmBA,EGSAJ,IHFbL,EAAIW,KAAMF,EAAOC,GGKxB,IACCL,EAAGV,QAAgB,CAGnB,CAFC,MAAQiB,GACT,OAAOhB,EAAMe,KAAMN,EACnB,CAQD,OAPAG,EAAMZ,EAAMe,KAAMN,GAEbC,EACJD,EAAGV,GAAgBY,SAEZF,EAAGV,GAEJa,CACR,EC3BA,SAAsBH,GACrB,OAAOT,EAAMe,KAAMN,EACpB,EFUA,IAAAQ,EAAeX,EGjCXY,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBC,EAAiC,mBAAjBJ,aAAgCA,aAAe,KCAnE,IAAIK,EAAiC,mBAAjBL,aAAgCA,kBAAe,EC6BnE,IAAAM,ECbA,WACC,IAAIC,EACAC,ELMoBd,EKJxB,GAAmC,mBAAvBe,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bf,EKGNc,EADjBD,GLAER,GAAmBL,aAAiBM,cACb,0BAAzBb,EAAaO,KKCC,IAAbc,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAId,CAFC,MAAQb,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECJIC,EAA0C,mBAAhBC,YC4B9B,ICjCIX,EAAgC,mBAAhBW,YAA+BA,YAAc,KCAjE,IAAIV,EAAgC,mBAAhBU,YAA+BA,iBAAc,EC6BjE,IAAAC,ECbA,WACC,IAAIT,EACAC,ELMmBd,EKJvB,GAAkC,mBAAtBuB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBxB,EKINc,EADhBD,GLDEO,GAAkBpB,aAAiBqB,aACZ,yBAAzB5B,EAAaO,KKEC,IAAbc,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQX,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECQIO,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAX,EALIU,EAAc,GC9BdA,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbnB,EAA0C,mBAA1BtB,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eC/BxBC,EAAiB5C,OAAOC,UACxBF,EAAQ6C,EAAe1C,SACvB2C,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBC4BlC,IAAAC,ECpBA,WAEC,IAEC,OADAV,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ5B,GACT,OAAO,CACP,CACF,CDGKuC,GACaxB,EDgBlB,SAAyByB,EAAKC,EAAMC,GACnC,IAAIxD,EACAyD,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBxD,EAAMe,KAAMyC,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B1D,EAAMe,KAAM2C,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBR,EAAanC,KAAMyC,EAAKC,IACxBL,EAAarC,KAAMyC,EAAKC,IAGxBvD,EAAYsD,EAAIO,UAChBP,EAAIO,UAAYlB,SAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW7C,MAGzB2C,EAAIO,UAAY7D,GAEhBsD,EAAKC,GAASC,EAAW7C,OAG3B+C,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAI7B,MAAO,wHASlB,OANK4B,GAAUd,GACdA,EAAa/B,KAAMyC,EAAKC,EAAMC,EAAWM,KAErCH,GAAUb,GACdA,EAAajC,KAAMyC,EAAKC,EAAMC,EAAWO,KAEnCT,CACR,EGlEA,SAASU,EAA0BV,EAAKC,EAAM5C,GAC7C+B,EAAgBY,EAAKC,EAAM,CAC1BU,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxD,MAASA,GAEX,CCdA,SAASyD,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAA0D,EAAelD,OCMXlB,EAAWkB,EAAOnB,UAAUC,SCEhC,IAAIP,EAAMY,IAmBV,SAAS8D,EAAUzD,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,IAGjBzB,ECpBP,SAAeiB,GACd,IAEC,OADAV,EAASY,KAAMF,IACR,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDcUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEVA,SAASyD,EAAUzD,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCoBA8D,EAAAL,EAAA,cAAAG,GACAE,EAAAL,EAAA,WAAAI,GCnBA,IAAIE,EAAevD,EAAOwD,kBClB1B,SAASC,EAAWjE,GACnB,OACCA,EAAQgB,GACRhB,EAAQ4B,GCGDC,EADWqC,EDDXlE,KCEakE,EADtB,IAAoBA,CDCpB,CEAA,SAASD,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAET,CCLA,SAASiE,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAAMoE,UAEf,CCGA,SAASH,EAAWjE,GACnB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCXA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,GAAS,CAEX,CCLA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,EAAMoE,WAAa,CAErB,CCQA,SAASC,EAAsBrE,GAC9B,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCtBA,SAASsE,EAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCmCA8D,EAAAG,EAAA,cAAAL,GACAE,EAAAG,EAAA,WAAAJ,GCAAC,EAAAO,EAAA,cAAAT,GACAE,EAAAO,EAAA,WAAAR,GCpDA,IAAIO,EAAUG,OAAOlF,UAAU+E,QCQ/B,IAAIrF,EAAMY,IAmBV,SAAS2E,EAAUtE,GAClB,MAAsB,iBAAVA,IACNA,aAAiBuE,SAGjBxF,ECnBP,SAAeiB,GACd,IAEC,OADAoE,EAAQlE,KAAMF,IACP,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDaUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEjBA,SAASsE,EAAUtE,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCsBA8D,EAAAQ,EAAA,cAAAV,GACAE,EAAAQ,EAAA,WAAAT,GC7BA,SAASJ,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASwE,EAAOC,GACf,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAAS4E,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAajC,SAASC,GAAeC,GACvB,IAAIC,EACA3F,EACA2E,EAEJ,OAASe,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFA3F,EAAM0F,EAAMG,IACZlB,EAAImB,SAAU9F,EAAK,KACb+F,SAAUpB,GAAM,CACrB,IAAMjB,EAAU1D,GACf,MAAM,IAAIoB,MAAO,2BAA6BpB,GAE/C2E,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBe,EAAME,WAA8B,KAATD,KAC1ChB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACR3E,IAAS2E,GAAIpF,SAAUoG,GAClBD,EAAMM,YACVhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAE5CjG,EAAM,IAAMA,IAEZA,EAAM2E,EAAEpF,SAAUoG,GACZhB,GAAMe,EAAMM,UAENN,EAAMM,YACjBhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAF3CjG,EAAM,GAIF0F,EAAMQ,OACVlG,EAAM0F,EAAMQ,KAAOlG,IAGP,KAAT2F,IACCD,EAAMS,YACVnG,EAAM,KAAOA,GAEdA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,EAAUlF,KAAMH,IAEJ,IAAT2F,GACCD,EAAMS,WAAiC,MAApBnG,EAAIoG,OAAQ,KACnCpG,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAASuE,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAIoG,GAAMtE,KAAKsE,IACXhB,GAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAC7Bc,GAAU9B,OAAOlF,UAAUgH,QAK3BC,GAAoB,WACpBC,GAAoB,UACpBC,GAAiB,UACjBC,GAAuB,UACvBC,GAA0B,OAC1BC,GAAqB,QACrBC,GAAqB,gBAazB,SAASC,GAAcpB,GACtB,IAAIqB,EACA/G,EACAgH,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMtD,EAAUgC,EAAMG,KACrB,MAAM,IAAIzE,MAAO,yCAA2CpB,GAG7DgH,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJ5F,EAAMgH,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJhG,EAAMgH,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,GAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEX/G,EAAMgH,EAAEE,cAAeH,IAEvB/G,EAAMgH,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACXnG,EAAMsG,GAAQnG,KAAMH,EAAK6G,GAAoB,OAC7C7G,EAAMsG,GAAQnG,KAAMH,EAAK4G,GAAoB,KAC7C5G,EAAMsG,GAAQnG,KAAMH,EAAK2G,GAAyB,KAEnD,MACD,QACC,MAAM,IAAIvF,MAAO,mCAAqCsE,EAAME,WAc7D,OAZA5F,EAAMsG,GAAQnG,KAAMH,EAAKuG,GAAmB,SAC5CvG,EAAMsG,GAAQnG,KAAMH,EAAKwG,GAAmB,SACvCd,EAAMS,YACVnG,EAAMsG,GAAQnG,KAAMH,EAAKyG,GAAgB,OACzCzG,EAAMsG,GAAQnG,KAAMH,EAAK0G,GAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpBlG,EAAM0F,EAAMQ,KAAOlG,GAEpBA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,GAAUlF,KAAMH,EAElB,CC5EA,SAASqH,GAAQ3C,GAChB,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAASsH,GAAUzC,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAMwC,GAAQpC,GACdoC,GAAQpC,GAAQJ,CAElB,CC5BA,IAAI0C,GAAe/C,OAAO+C,aACtBC,GAAQC,MACRC,GAAUC,MAAMD,QAYpB,SAASE,GAAYlC,GACpB,IAAI1F,EAAM,CAAA,EAMV,OALAA,EAAI4F,UAAYF,EAAME,UACtB5F,EAAIgG,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DhG,EAAI8E,MAAQY,EAAMZ,MAClB9E,EAAI6H,MAAQnC,EAAMmC,OAAS,GAC3B7H,EAAI8H,QAAUpC,EAAMoC,QACb9H,CACR,CAmBA,SAAS+H,GAAmBC,GAC3B,IAAIC,EACAJ,EACAnC,EACAwC,EACAC,EACAnI,EACAoI,EACAzD,EACA0D,EAEJ,IAAMX,GAASM,GACd,MAAM,IAAI9E,UAAW,8DAAgE8E,EAAS,MAI/F,IAFAhI,EAAM,GACNoI,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GAAKJ,GADLmB,EAAQsC,EAAQrD,IAEf3E,GAAO0F,MACD,CAGN,GAFAuC,OAAgC,IAApBvC,EAAMM,YAClBN,EAAQkC,GAAYlC,IACRE,UACX,MAAM,IAAI1C,UAAW,oEAAqEyB,EAAG,cAAgBe,EAAQ,MAMtH,IAJKA,EAAMoC,UACVM,EAAM1C,EAAMoC,SAEbD,EAAQnC,EAAMmC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMzB,OAAQiC,IAErB,IAAK,IACJ3C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWT,EAAMU,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI/E,MAAO,iBAAmB8G,GAGtC,GAAqB,MAAhBxC,EAAMZ,MAAgB,CAG1B,GAFAY,EAAMZ,MAAQgB,SAAU0C,UAAWJ,GAAO,IAC1CA,GAAO,EACFZ,GAAO9B,EAAMZ,OACjB,MAAM,IAAI5B,UAAW,wCAA0CkF,EAAM,6BAA+B1C,EAAMZ,MAAQ,MAE9GY,EAAMZ,MAAQ,IAClBY,EAAMO,UAAW,EACjBP,EAAMZ,OAASY,EAAMZ,MAEtB,CACD,GAAKmD,GACqB,MAApBvC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWJ,GAAO,IAC9CA,GAAO,EACFZ,GAAO9B,EAAMM,WACjB,MAAM,IAAI9C,UAAW,4CAA8CkF,EAAM,6BAA+B1C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBiC,GAAY,EAEb,CAGF,OADAvC,EAAMG,IAAM2C,UAAWJ,GACd1C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECqC,IACJvC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,GAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMwB,GAAO9B,EAAMG,KAAQ,CAE1B,IADAsC,EAAMrC,SAAUJ,EAAMG,IAAK,KAChB,GAAKsC,EAAM,IACrB,MAAM,IAAI/G,MAAO,kCAAoCsE,EAAMG,KAE5DH,EAAMG,IAAQ2B,GAAOW,GACpB3D,OAAQkB,EAAMG,KACd0B,GAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLvC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,GAAcpB,GAC1B,MACD,QACC,MAAM,IAAItE,MAAO,sBAAwBsE,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIX,OAASQ,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMjB,EAASc,EAAMG,IAAKH,EAAMZ,OAASY,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMZ,QACjBY,EAAMG,IAAMyB,GAAU5B,EAAMG,IAAKH,EAAMZ,MAAOY,EAAMO,WAErDjG,GAAO0F,EAAMG,KAAO,GACpBuC,GAAO,CACP,CAEF,OAAOpI,CACR,CC3LA,IAAI2I,GAAK,6EAYT,SAASC,GAAOC,GACf,IAAInD,EAAQ,CACXoC,QAAae,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDhB,MAASgB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASoD,GAAgBjE,GACxB,IAAIkE,EACAf,EACAa,EACAG,EAKJ,IAHAhB,EAAS,GACTgB,EAAO,EACPH,EAAQF,GAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,GAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ8C,EAAOoB,KAAML,GAEdf,EAAOoB,KAAMR,GAAOC,IACpBG,EAAOL,GAAGQ,UACVN,EAAQF,GAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ8C,EAAOoB,KAAML,GAEPf,CACR,CClDA,SAASzD,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAASoJ,GAAQxE,GAChB,IAAImD,EACAsB,EACA3E,EAEJ,IAAMJ,GAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAKjG,IAHAmD,EAASuB,GAAU1E,IACnByE,EAAO,IAAI3B,MAAOa,UAAUtD,SACtB,GAAM8C,EACNrD,EAAI,EAAGA,EAAI2E,EAAKpE,OAAQP,IAC7B2E,EAAM3E,GAAM6D,UAAW7D,GAExB,OAAO6E,GAAYC,MAAO,KAAMH,EACjC,CC8BA,SAASI,GAAQ7E,EAAKH,GACrB,IAAIiF,EACAC,EACJ,IAAMrF,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBI,GAC3B,MAAM,IAAIxB,UAAWmG,GAAQ,gFAAiF3E,IAE/G,GAAoB,IAAfG,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAGR,GAAKG,EAAIK,OAASR,ECrDY,iBDsD7B,MAAM,IAAImF,WAAYR,GAAQ,6FAA8FxE,EAAIK,OAASR,IAI1I,IAFAiF,EAAM,GACNC,EAAMlF,EAGY,IAAP,EAAJkF,KACLD,GAAO9E,GAIK,KADb+E,KAAS,IAKT/E,GAAOA,EAER,OAAO8E,CACR,CE/EA,IAAIG,GAAO/H,KAAK+H,KCMhB,SAASC,GAAM5F,GAKd,IAJA,IACI6F,EADAnF,EAAM,GAIFV,EAAI,GAIVU,GAHDmF,EAAI7F,EAAI,MACRA,EAAIrC,EAAOkI,IAEJ,IAAMnF,EAEN,IAAMA,EAGd,OAAOA,CACR,CC8BA,SAASoF,GAAiB9F,GACzB,IAAI+F,EACAhE,EACArB,EACAsF,EACAzF,EACAsC,EACArC,EASJ,GALCuB,EADI/B,EAAI,GAAO,EAAIA,IAAMtC,EAClB,IAEA,IAGHsC,IAAMlD,GAAQkD,IAAMtC,EAIxB,OAAOqE,GAFPiE,EAAMT,GAAQ,IA3EQ,KA4EtB7E,EAAM6E,GAAQ,IA7EW,KAiF1B,GAAKvF,GAAMA,EAIV,OAAO+B,GAFPiE,EAAMT,GAAQ,IAlFQ,KAmFtB7E,EAAM,IAAM6E,GAAQ,IAAKU,KAI1B,GAAW,IAANjG,EAIJ,OAAO+B,GAFPiE,EAAMT,GAAQ,IAzFQ,KA0FtB7E,EAAM6E,GAAQ,IA3FW,KA2G1B,GAPA1C,GANA7C,ECnFD,SAAcA,GACb,OAAOpC,KAAKsE,IAAKlC,EAClB,CDiFKkC,CAAKlC,KAGTO,EAAI5C,EAAOqC,IAMXO,EAAIqF,GAAMrF,GACVsC,EElGD,SAAgB7C,GACf,IAAIU,EACAmF,EACArF,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAANV,EACJ,OAAOU,EAKR,IAHAwD,EA/Bc,IAkCR1D,EAAI,EAAGA,EAlCC,OAmCbqF,EAAQ,EAAJ7F,IACM,GACTA,EAAI6F,EAAI,EACRnF,GAAO,IAtCK,MAuCPwD,IACJA,EAAI1D,KAGLR,EAAI6F,EACJnF,GAAO,OAGG,IAANmF,GAAarF,EAAE0D,EA9CP,KAiCa1D,KAkB3B,OAAOE,CACR,CFkEKwF,CAAOrD,GAGNtC,EAEJyF,EAAMzF,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIqC,EAAE9B,OAAQP,IAC1B,GAAgB,MAAXqC,EAAGrC,GAAc,CACrBuF,EAAQvF,EAAI,EACZ,KACA,CAGFwF,GAAOD,CACP,CAuBD,OArBArF,EAAMH,EAAIsC,EACLmD,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTzF,EAAMA,EAAI6D,UAAWwB,IAGrBrF,EAAMA,EAAI6D,UAAW,GAItByB,EItHD,SAAetF,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,gEAEzB,MACEW,EAAI,IAEL,GAAKD,EPzByB,iBO0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGD6E,GAAQc,EADf9F,EAAIoF,GAAMpF,IACcG,CACzB,CJyFO4F,CADNN,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpCtF,EKzHD,SAAeA,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,4DAEzB,MACEW,EAAI,IAEL,GAAKD,ERzByB,iBQ0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGDA,EAAM6E,GAAQc,EADrB9F,EAAIoF,GAAMpF,GAEX,CL4FOgG,CAAM7F,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IA+InBxC,EAAOiE,EAAMtF,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index e6e09cf..0000000 --- a/stats.html +++ /dev/null @@ -1,6177 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From 9b6ea671570c705654366d5f0afa1dca52a0e31b Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sat, 1 Jul 2023 16:38:55 +0000 Subject: [PATCH 055/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 49 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 62 - .github/workflows/cancel.yml | 56 - .github/workflows/close_pull_requests.yml | 44 - .github/workflows/examples.yml | 62 - .github/workflows/npm_downloads.yml | 108 - .github/workflows/productionize.yml | 798 --- .github/workflows/publish.yml | 242 - .github/workflows/test.yml | 97 - .github/workflows/test_bundles.yml | 180 - .github/workflows/test_coverage.yml | 123 - .github/workflows/test_install.yml | 83 - .gitignore | 188 - .npmignore | 227 - .npmrc | 28 - CHANGELOG.md | 5 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 6177 +++++++++++++++++++++ test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 45 files changed, 6196 insertions(+), 4123 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0fd4d6c..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index 0128257..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2023-07-01T05:03:28.135Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 06a9a75..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index a00dbe5..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,56 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - uses: styfle/cancel-workflow-action@0.11.0 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index 576054a..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,44 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 7902a7d..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout the repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 0bf9073..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,108 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - uses: actions/upload-artifact@v3 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - uses: distributhor/workflow-webhook@v3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 3e8e2db..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,798 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - uses: actions/checkout@v3 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Format error messages: - - name: 'Replace double quotes with single quotes in rewritten format string error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\( \"([a-zA-Z0-9]+)\"/Error\( format\( '\1'/g" {} \; - - # Format string literal error messages: - - name: 'Replace double quotes with single quotes in rewritten string literal error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\(\"([a-zA-Z0-9]+)\"\)/Error\( format\( '\1' \)/g" {} \; - - # Format code: - - name: 'Replace double quotes with single quotes in inserted `require` calls' - run: | - find . -name "*.js" -exec sed -E -i "s/require\( ?\"@stdlib\/error-tools-fmtprodmsg\" ?\);/require\( '@stdlib\/error-tools-fmtprodmsg' \);/g" {} \; - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - uses: actions/checkout@v3 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - uses: act10ns/slack@v1 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 2638c2c4d9060717d717436758f490007a29e186 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Tue, 1 Aug 2023 08:38:01 +0000 Subject: [PATCH 056/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b9bb50e..bb891da 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.0.8", "@stdlib/string-left-pad": "^0.0.9", "@stdlib/string-repeat": "^0.0.9", - "@stdlib/string-right-pad": "^0.0.9" + "@stdlib/string-right-pad": "^0.0.9", + "@stdlib/error-tools-fmtprodmsg": "^0.0.2" }, "devDependencies": { "@stdlib/assert-is-string": "^0.0.8", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From dc29cd9bea4f543083056d7e17db578d91496de2 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Tue, 1 Aug 2023 17:19:46 +0000 Subject: [PATCH 057/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 6177 ---------------------------------------------------- 4 files changed, 6260 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 1881a26..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 2.0 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 7524794..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2023 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol.toStringTag:"";i=e()?function(r){var e,i,o,u,c;if(null==r)return t.call(r);i=r[a],c=a,e=null!=(u=r)&&n.call(u,c);try{r[a]=void 0}catch(e){return t.call(r)}return o=t.call(r),e?r[a]=i:delete r[a],o}:function(r){return t.call(r)};var o=i,u="function"==typeof Float32Array;var c=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var s="function"==typeof Float32Array?Float32Array:void 0;var f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(u&&t instanceof Float32Array||"[object Float32Array]"===o(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===c}catch(e){r=!1}return r}()?s:function(){throw new Error("not implemented")},g="function"==typeof Uint32Array;var p="function"==typeof Uint32Array?Uint32Array:null;var h="function"==typeof Uint32Array?Uint32Array:void 0;var d=function(){var r,e,t;if("function"!=typeof p)return!1;try{e=new p(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(g&&t instanceof Uint32Array||"[object Uint32Array]"===o(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?h:function(){throw new Error("not implemented")},v=new f(1);new d(v.buffer)[0]=2139095040;var m=v[0],w=new f(1);new d(w.buffer)[0]=4286578688;var y=w[0];var b=Math.floor,E="function"==typeof Object.defineProperty?Object.defineProperty:null;var _=Object.defineProperty,S=Object.prototype,T=S.toString,x=S.__defineGetter__,V=S.__defineSetter__,A=S.__lookupGetter__,j=S.__lookupSetter__;var F=function(){try{return E({},"x",{}),!0}catch(r){return!1}}()?_:function(r,e,t){var n,i,a,o;if("object"!=typeof r||null===r||"[object Array]"===T.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof t||null===t||"[object Array]"===T.call(t))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+t+"`.");if((i="value"in t)&&(A.call(r,e)||j.call(r,e)?(n=r.__proto__,r.__proto__=S,delete r[e],r[e]=t.value,r.__proto__=n):r[e]=t.value),a="get"in t,o="set"in t,i&&(a||o))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return a&&x&&x.call(r,e,t.get),o&&V&&V.call(r,e,t.set),r};function k(r,e,t){F(r,e,{configurable:!1,enumerable:!1,writable:!1,value:t})}function O(r){return"number"==typeof r}var I=Number,P=I.prototype.toString;var R=e();function N(r){return"object"==typeof r&&(r instanceof I||(R?function(r){try{return P.call(r),!0}catch(r){return!1}}(r):"[object Number]"===o(r)))}function $(r){return O(r)||N(r)}k($,"isPrimitive",O),k($,"isObject",N);var U=I.NEGATIVE_INFINITY;function C(r){return rU&&b(e=r)===e;var e}function G(r){return O(r)&&C(r)}function Z(r){return N(r)&&C(r.valueOf())}function M(r){return G(r)||Z(r)}function W(r){return G(r)&&r>=0}function L(r){return Z(r)&&r.valueOf()>=0}function X(r){return W(r)||L(r)}function Y(r){return"string"==typeof r}k(M,"isPrimitive",G),k(M,"isObject",Z),k(X,"isPrimitive",W),k(X,"isObject",L);var z=String.prototype.valueOf;var q=e();function B(r){return"object"==typeof r&&(r instanceof String||(q?function(r){try{return z.call(r),!0}catch(r){return!1}}(r):"[object String]"===o(r)))}function D(r){return Y(r)||B(r)}k(D,"isPrimitive",Y),k(D,"isObject",B);function H(r){return"number"==typeof r}function J(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=or.call(t,pr,"$1e"),t=or.call(t,gr,"e"),t=or.call(t,fr,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=or.call(t,ur,"e+0$1"),t=or.call(t,cr,"e-0$1"),r.alternate&&(t=or.call(t,lr,"$1."),t=or.call(t,sr,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===ar.call(r.specifier)?ar.call(t):ir.call(t)}function dr(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=wr(a)?String(n.arg):mr(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=hr(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=K(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=vr(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var _r=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Sr(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function Tr(r){var e,t,n,i;for(t=[],i=0,n=_r.exec(r);n;)(e=r.slice(i,_r.lastIndex-n[0].length)).length&&t.push(e),t.push(Sr(n)),i=_r.lastIndex,n=_r.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function xr(r){return"string"==typeof r}function Vr(r){var e,t,n;if(!xr(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=Tr(r),(t=new Array(arguments.length))[0]=e,n=1;n9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",r.length*e));for(t="",n=e;1==(1&n)&&(t+=r),0!==(n>>>=1);)r+=r;return t}var jr=Math.ceil;function Fr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=b(e))?"0"+t:"1"+t;return t}function kr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===y?"1":"0",r===m||r===y)return t+(i=Ar("1",8))+(n=Ar("0",23));if(r!=r)return t+(i=Ar("1",8))+(n="1"+Ar("0",22));if(0===r)return t+(i=Ar("0",8))+(n=Ar("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=b(r)),a=Fr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:Ar(i,n=jr(n))+r}(i=Fr(i+127),8,"0"),n=function(r,e,t){var n,i;if(!Y(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!W(e))throw new TypeError(Vr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:r+Ar(i,n=jr(n))}(n,23,"0").substring(0,23),t+i+n}export{kr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 9d358cc..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/native_class.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/number.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/is_integer.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/string-repeat/lib/repeat.js","../node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/math-base-special-ceil/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/left_pad.js","../node_modules/@stdlib/string-right-pad/lib/right_pad.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './native_class.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './float32array.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './uint32array.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isNumber from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isInteger from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isNonNegativeInteger from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isString from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport format from '@stdlib/string-format';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', str.length * n ) );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport repeat from '@stdlib/string-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport repeat from '@stdlib/string-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","nativeClass","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass$1","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","main","ctor","Float32Array$1","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","hasUint32Array","Uint32Array","Uint32Array$1","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","isNumber","Number$1","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","String","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","repeat","rpt","cnt","RangeError","ceil","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","len","p","lpad","rpad"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA+B,mBAAXV,OAA0BA,OAAOE,YAAc,GC8BtEO,EADIE,ICDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EHHgBC,EAAOC,EGK3B,GAAKL,QACJ,OAAOT,EAAMe,KAAMN,GAEpBE,EAAMF,EAAGV,GHRkBe,EGSJf,EAAvBW,EHPCG,OAFmBA,EGSAJ,IHFbL,EAAIW,KAAMF,EAAOC,GGKxB,IACCL,EAAGV,QAAgB,CAGnB,CAFC,MAAQiB,GACT,OAAOhB,EAAMe,KAAMN,EACnB,CAQD,OAPAG,EAAMZ,EAAMe,KAAMN,GAEbC,EACJD,EAAGV,GAAgBY,SAEZF,EAAGV,GAEJa,CACR,EC3BA,SAAsBH,GACrB,OAAOT,EAAMe,KAAMN,EACpB,EFUA,IAAAQ,EAAeX,EGjCXY,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBC,EAAiC,mBAAjBJ,aAAgCA,aAAe,KCAnE,IAAIK,EAAiC,mBAAjBL,aAAgCA,kBAAe,EC6BnE,IAAAM,ECbA,WACC,IAAIC,EACAC,ELMoBd,EKJxB,GAAmC,mBAAvBe,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bf,EKGNc,EADjBD,GLAER,GAAmBL,aAAiBM,cACb,0BAAzBb,EAAaO,KKCC,IAAbc,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAId,CAFC,MAAQb,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECJIC,EAA0C,mBAAhBC,YC4B9B,ICjCIX,EAAgC,mBAAhBW,YAA+BA,YAAc,KCAjE,IAAIV,EAAgC,mBAAhBU,YAA+BA,iBAAc,EC6BjE,IAAAC,ECbA,WACC,IAAIT,EACAC,ELMmBd,EKJvB,GAAkC,mBAAtBuB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBxB,EKINc,EADhBD,GLDEO,GAAkBpB,aAAiBqB,aACZ,yBAAzB5B,EAAaO,KKEC,IAAbc,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQX,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECQIO,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAX,EALIU,EAAc,GC9BdA,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbnB,EAA0C,mBAA1BtB,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eC/BxBC,EAAiB5C,OAAOC,UACxBF,EAAQ6C,EAAe1C,SACvB2C,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBC4BlC,IAAAC,ECpBA,WAEC,IAEC,OADAV,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ5B,GACT,OAAO,CACP,CACF,CDGKuC,GACaxB,EDgBlB,SAAyByB,EAAKC,EAAMC,GACnC,IAAIxD,EACAyD,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBxD,EAAMe,KAAMyC,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B1D,EAAMe,KAAM2C,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBR,EAAanC,KAAMyC,EAAKC,IACxBL,EAAarC,KAAMyC,EAAKC,IAGxBvD,EAAYsD,EAAIO,UAChBP,EAAIO,UAAYlB,SAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW7C,MAGzB2C,EAAIO,UAAY7D,GAEhBsD,EAAKC,GAASC,EAAW7C,OAG3B+C,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAI7B,MAAO,wHASlB,OANK4B,GAAUd,GACdA,EAAa/B,KAAMyC,EAAKC,EAAMC,EAAWM,KAErCH,GAAUb,GACdA,EAAajC,KAAMyC,EAAKC,EAAMC,EAAWO,KAEnCT,CACR,EGlEA,SAASU,EAA0BV,EAAKC,EAAM5C,GAC7C+B,EAAgBY,EAAKC,EAAM,CAC1BU,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxD,MAASA,GAEX,CCdA,SAASyD,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAA0D,EAAelD,OCMXlB,EAAWkB,EAAOnB,UAAUC,SCEhC,IAAIP,EAAMY,IAmBV,SAAS8D,EAAUzD,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,IAGjBzB,ECpBP,SAAeiB,GACd,IAEC,OADAV,EAASY,KAAMF,IACR,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDcUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEVA,SAASyD,EAAUzD,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCoBA8D,EAAAL,EAAA,cAAAG,GACAE,EAAAL,EAAA,WAAAI,GCnBA,IAAIE,EAAevD,EAAOwD,kBClB1B,SAASC,EAAWjE,GACnB,OACCA,EAAQgB,GACRhB,EAAQ4B,GCGDC,EADWqC,EDDXlE,KCEakE,EADtB,IAAoBA,CDCpB,CEAA,SAASD,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAET,CCLA,SAASiE,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAAMoE,UAEf,CCGA,SAASH,EAAWjE,GACnB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCXA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,GAAS,CAEX,CCLA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,EAAMoE,WAAa,CAErB,CCQA,SAASC,EAAsBrE,GAC9B,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCtBA,SAASsE,EAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCmCA8D,EAAAG,EAAA,cAAAL,GACAE,EAAAG,EAAA,WAAAJ,GCAAC,EAAAO,EAAA,cAAAT,GACAE,EAAAO,EAAA,WAAAR,GCpDA,IAAIO,EAAUG,OAAOlF,UAAU+E,QCQ/B,IAAIrF,EAAMY,IAmBV,SAAS2E,EAAUtE,GAClB,MAAsB,iBAAVA,IACNA,aAAiBuE,SAGjBxF,ECnBP,SAAeiB,GACd,IAEC,OADAoE,EAAQlE,KAAMF,IACP,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDaUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEjBA,SAASsE,EAAUtE,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCsBA8D,EAAAQ,EAAA,cAAAV,GACAE,EAAAQ,EAAA,WAAAT,GC7BA,SAASJ,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASwE,EAAOC,GACf,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAAS4E,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAajC,SAASC,GAAeC,GACvB,IAAIC,EACA3F,EACA2E,EAEJ,OAASe,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFA3F,EAAM0F,EAAMG,IACZlB,EAAImB,SAAU9F,EAAK,KACb+F,SAAUpB,GAAM,CACrB,IAAMjB,EAAU1D,GACf,MAAM,IAAIoB,MAAO,2BAA6BpB,GAE/C2E,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBe,EAAME,WAA8B,KAATD,KAC1ChB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACR3E,IAAS2E,GAAIpF,SAAUoG,GAClBD,EAAMM,YACVhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAE5CjG,EAAM,IAAMA,IAEZA,EAAM2E,EAAEpF,SAAUoG,GACZhB,GAAMe,EAAMM,UAENN,EAAMM,YACjBhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAF3CjG,EAAM,GAIF0F,EAAMQ,OACVlG,EAAM0F,EAAMQ,KAAOlG,IAGP,KAAT2F,IACCD,EAAMS,YACVnG,EAAM,KAAOA,GAEdA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,EAAUlF,KAAMH,IAEJ,IAAT2F,GACCD,EAAMS,WAAiC,MAApBnG,EAAIoG,OAAQ,KACnCpG,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAASuE,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAIoG,GAAMtE,KAAKsE,IACXhB,GAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAC7Bc,GAAU9B,OAAOlF,UAAUgH,QAK3BC,GAAoB,WACpBC,GAAoB,UACpBC,GAAiB,UACjBC,GAAuB,UACvBC,GAA0B,OAC1BC,GAAqB,QACrBC,GAAqB,gBAazB,SAASC,GAAcpB,GACtB,IAAIqB,EACA/G,EACAgH,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMtD,EAAUgC,EAAMG,KACrB,MAAM,IAAIzE,MAAO,yCAA2CpB,GAG7DgH,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJ5F,EAAMgH,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJhG,EAAMgH,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,GAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEX/G,EAAMgH,EAAEE,cAAeH,IAEvB/G,EAAMgH,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACXnG,EAAMsG,GAAQnG,KAAMH,EAAK6G,GAAoB,OAC7C7G,EAAMsG,GAAQnG,KAAMH,EAAK4G,GAAoB,KAC7C5G,EAAMsG,GAAQnG,KAAMH,EAAK2G,GAAyB,KAEnD,MACD,QACC,MAAM,IAAIvF,MAAO,mCAAqCsE,EAAME,WAc7D,OAZA5F,EAAMsG,GAAQnG,KAAMH,EAAKuG,GAAmB,SAC5CvG,EAAMsG,GAAQnG,KAAMH,EAAKwG,GAAmB,SACvCd,EAAMS,YACVnG,EAAMsG,GAAQnG,KAAMH,EAAKyG,GAAgB,OACzCzG,EAAMsG,GAAQnG,KAAMH,EAAK0G,GAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpBlG,EAAM0F,EAAMQ,KAAOlG,GAEpBA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,GAAUlF,KAAMH,EAElB,CC5EA,SAASqH,GAAQ3C,GAChB,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAASsH,GAAUzC,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAMwC,GAAQpC,GACdoC,GAAQpC,GAAQJ,CAElB,CC5BA,IAAI0C,GAAe/C,OAAO+C,aACtBC,GAAQC,MACRC,GAAUC,MAAMD,QAYpB,SAASE,GAAYlC,GACpB,IAAI1F,EAAM,CAAA,EAMV,OALAA,EAAI4F,UAAYF,EAAME,UACtB5F,EAAIgG,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DhG,EAAI8E,MAAQY,EAAMZ,MAClB9E,EAAI6H,MAAQnC,EAAMmC,OAAS,GAC3B7H,EAAI8H,QAAUpC,EAAMoC,QACb9H,CACR,CAmBA,SAAS+H,GAAmBC,GAC3B,IAAIC,EACAJ,EACAnC,EACAwC,EACAC,EACAnI,EACAoI,EACAzD,EACA0D,EAEJ,IAAMX,GAASM,GACd,MAAM,IAAI9E,UAAW,8DAAgE8E,EAAS,MAI/F,IAFAhI,EAAM,GACNoI,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GAAKJ,GADLmB,EAAQsC,EAAQrD,IAEf3E,GAAO0F,MACD,CAGN,GAFAuC,OAAgC,IAApBvC,EAAMM,YAClBN,EAAQkC,GAAYlC,IACRE,UACX,MAAM,IAAI1C,UAAW,oEAAqEyB,EAAG,cAAgBe,EAAQ,MAMtH,IAJKA,EAAMoC,UACVM,EAAM1C,EAAMoC,SAEbD,EAAQnC,EAAMmC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMzB,OAAQiC,IAErB,IAAK,IACJ3C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWT,EAAMU,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI/E,MAAO,iBAAmB8G,GAGtC,GAAqB,MAAhBxC,EAAMZ,MAAgB,CAG1B,GAFAY,EAAMZ,MAAQgB,SAAU0C,UAAWJ,GAAO,IAC1CA,GAAO,EACFZ,GAAO9B,EAAMZ,OACjB,MAAM,IAAI5B,UAAW,wCAA0CkF,EAAM,6BAA+B1C,EAAMZ,MAAQ,MAE9GY,EAAMZ,MAAQ,IAClBY,EAAMO,UAAW,EACjBP,EAAMZ,OAASY,EAAMZ,MAEtB,CACD,GAAKmD,GACqB,MAApBvC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWJ,GAAO,IAC9CA,GAAO,EACFZ,GAAO9B,EAAMM,WACjB,MAAM,IAAI9C,UAAW,4CAA8CkF,EAAM,6BAA+B1C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBiC,GAAY,EAEb,CAGF,OADAvC,EAAMG,IAAM2C,UAAWJ,GACd1C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECqC,IACJvC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,GAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMwB,GAAO9B,EAAMG,KAAQ,CAE1B,IADAsC,EAAMrC,SAAUJ,EAAMG,IAAK,KAChB,GAAKsC,EAAM,IACrB,MAAM,IAAI/G,MAAO,kCAAoCsE,EAAMG,KAE5DH,EAAMG,IAAQ2B,GAAOW,GACpB3D,OAAQkB,EAAMG,KACd0B,GAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLvC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,GAAcpB,GAC1B,MACD,QACC,MAAM,IAAItE,MAAO,sBAAwBsE,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIX,OAASQ,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMjB,EAASc,EAAMG,IAAKH,EAAMZ,OAASY,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMZ,QACjBY,EAAMG,IAAMyB,GAAU5B,EAAMG,IAAKH,EAAMZ,MAAOY,EAAMO,WAErDjG,GAAO0F,EAAMG,KAAO,GACpBuC,GAAO,CACP,CAEF,OAAOpI,CACR,CC3LA,IAAI2I,GAAK,6EAYT,SAASC,GAAOC,GACf,IAAInD,EAAQ,CACXoC,QAAae,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDhB,MAASgB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASoD,GAAgBjE,GACxB,IAAIkE,EACAf,EACAa,EACAG,EAKJ,IAHAhB,EAAS,GACTgB,EAAO,EACPH,EAAQF,GAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,GAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ8C,EAAOoB,KAAML,GAEdf,EAAOoB,KAAMR,GAAOC,IACpBG,EAAOL,GAAGQ,UACVN,EAAQF,GAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ8C,EAAOoB,KAAML,GAEPf,CACR,CClDA,SAASzD,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAASoJ,GAAQxE,GAChB,IAAImD,EACAsB,EACA3E,EAEJ,IAAMJ,GAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAKjG,IAHAmD,EAASuB,GAAU1E,IACnByE,EAAO,IAAI3B,MAAOa,UAAUtD,SACtB,GAAM8C,EACNrD,EAAI,EAAGA,EAAI2E,EAAKpE,OAAQP,IAC7B2E,EAAM3E,GAAM6D,UAAW7D,GAExB,OAAO6E,GAAYC,MAAO,KAAMH,EACjC,CC8BA,SAASI,GAAQ7E,EAAKH,GACrB,IAAIiF,EACAC,EACJ,IAAMrF,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBI,GAC3B,MAAM,IAAIxB,UAAWmG,GAAQ,gFAAiF3E,IAE/G,GAAoB,IAAfG,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAGR,GAAKG,EAAIK,OAASR,ECrDY,iBDsD7B,MAAM,IAAImF,WAAYR,GAAQ,6FAA8FxE,EAAIK,OAASR,IAI1I,IAFAiF,EAAM,GACNC,EAAMlF,EAGY,IAAP,EAAJkF,KACLD,GAAO9E,GAIK,KADb+E,KAAS,IAKT/E,GAAOA,EAER,OAAO8E,CACR,CE/EA,IAAIG,GAAO/H,KAAK+H,KCMhB,SAASC,GAAM5F,GAKd,IAJA,IACI6F,EADAnF,EAAM,GAIFV,EAAI,GAIVU,GAHDmF,EAAI7F,EAAI,MACRA,EAAIrC,EAAOkI,IAEJ,IAAMnF,EAEN,IAAMA,EAGd,OAAOA,CACR,CC8BA,SAASoF,GAAiB9F,GACzB,IAAI+F,EACAhE,EACArB,EACAsF,EACAzF,EACAsC,EACArC,EASJ,GALCuB,EADI/B,EAAI,GAAO,EAAIA,IAAMtC,EAClB,IAEA,IAGHsC,IAAMlD,GAAQkD,IAAMtC,EAIxB,OAAOqE,GAFPiE,EAAMT,GAAQ,IA3EQ,KA4EtB7E,EAAM6E,GAAQ,IA7EW,KAiF1B,GAAKvF,GAAMA,EAIV,OAAO+B,GAFPiE,EAAMT,GAAQ,IAlFQ,KAmFtB7E,EAAM,IAAM6E,GAAQ,IAAKU,KAI1B,GAAW,IAANjG,EAIJ,OAAO+B,GAFPiE,EAAMT,GAAQ,IAzFQ,KA0FtB7E,EAAM6E,GAAQ,IA3FW,KA2G1B,GAPA1C,GANA7C,ECnFD,SAAcA,GACb,OAAOpC,KAAKsE,IAAKlC,EAClB,CDiFKkC,CAAKlC,KAGTO,EAAI5C,EAAOqC,IAMXO,EAAIqF,GAAMrF,GACVsC,EElGD,SAAgB7C,GACf,IAAIU,EACAmF,EACArF,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAANV,EACJ,OAAOU,EAKR,IAHAwD,EA/Bc,IAkCR1D,EAAI,EAAGA,EAlCC,OAmCbqF,EAAQ,EAAJ7F,IACM,GACTA,EAAI6F,EAAI,EACRnF,GAAO,IAtCK,MAuCPwD,IACJA,EAAI1D,KAGLR,EAAI6F,EACJnF,GAAO,OAGG,IAANmF,GAAarF,EAAE0D,EA9CP,KAiCa1D,KAkB3B,OAAOE,CACR,CFkEKwF,CAAOrD,GAGNtC,EAEJyF,EAAMzF,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIqC,EAAE9B,OAAQP,IAC1B,GAAgB,MAAXqC,EAAGrC,GAAc,CACrBuF,EAAQvF,EAAI,EACZ,KACA,CAGFwF,GAAOD,CACP,CAuBD,OArBArF,EAAMH,EAAIsC,EACLmD,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTzF,EAAMA,EAAI6D,UAAWwB,IAGrBrF,EAAMA,EAAI6D,UAAW,GAItByB,EItHD,SAAetF,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,gEAEzB,MACEW,EAAI,IAEL,GAAKD,EPzByB,iBO0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGD6E,GAAQc,EADf9F,EAAIoF,GAAMpF,IACcG,CACzB,CJyFO4F,CADNN,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpCtF,EKzHD,SAAeA,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,4DAEzB,MACEW,EAAI,IAEL,GAAKD,ERzByB,iBQ0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGDA,EAAM6E,GAAQc,EADrB9F,EAAIoF,GAAMpF,GAEX,CL4FOgG,CAAM7F,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IA+InBxC,EAAOiE,EAAMtF,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index 6d1a9f3..0000000 --- a/stats.html +++ /dev/null @@ -1,6177 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From 4fc5da378f3815e1dafb37421193906de41bcf62 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Tue, 1 Aug 2023 17:20:43 +0000 Subject: [PATCH 058/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 49 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 62 - .github/workflows/cancel.yml | 56 - .github/workflows/close_pull_requests.yml | 44 - .github/workflows/examples.yml | 62 - .github/workflows/npm_downloads.yml | 108 - .github/workflows/productionize.yml | 798 --- .github/workflows/publish.yml | 242 - .github/workflows/test.yml | 97 - .github/workflows/test_bundles.yml | 180 - .github/workflows/test_coverage.yml | 123 - .github/workflows/test_install.yml | 83 - .gitignore | 188 - .npmignore | 227 - .npmrc | 28 - CHANGELOG.md | 5 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 6177 +++++++++++++++++++++ test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 45 files changed, 6196 insertions(+), 4123 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0fd4d6c..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index f7e4bfe..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2023-08-01T05:41:20.308Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 06a9a75..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index a00dbe5..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,56 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - uses: styfle/cancel-workflow-action@0.11.0 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index 576054a..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,44 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 7902a7d..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout the repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 0bf9073..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,108 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - uses: actions/upload-artifact@v3 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - uses: distributhor/workflow-webhook@v3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 334eb59..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,798 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - uses: actions/checkout@v3 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Format error messages: - - name: 'Replace double quotes with single quotes in rewritten format string error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\( \"([a-zA-Z0-9]+)\"/Error\( format\( '\1'/g" {} \; - - # Format string literal error messages: - - name: 'Replace double quotes with single quotes in rewritten string literal error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\(\"([a-zA-Z0-9]+)\"\)/Error\( format\( '\1' \)/g" {} \; - - # Format code: - - name: 'Replace double quotes with single quotes in inserted `require` calls' - run: | - find . -name "*.js" -exec sed -E -i "s/require\( ?\"@stdlib\/error-tools-fmtprodmsg\" ?\);/require\( '@stdlib\/error-tools-fmtprodmsg' \);/g" {} \; - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - uses: actions/checkout@v3 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - uses: act10ns/slack@v2 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 76c683ad52d2d9ab81248092d4a67b18ddc49c24 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 20 Aug 2023 01:14:58 +0000 Subject: [PATCH 059/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b9bb50e..bb891da 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.0.8", "@stdlib/string-left-pad": "^0.0.9", "@stdlib/string-repeat": "^0.0.9", - "@stdlib/string-right-pad": "^0.0.9" + "@stdlib/string-right-pad": "^0.0.9", + "@stdlib/error-tools-fmtprodmsg": "^0.0.2" }, "devDependencies": { "@stdlib/assert-is-string": "^0.0.8", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From 9fbdda12cd40e955f29671c033779e2fe311ab26 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 20 Aug 2023 01:19:53 +0000 Subject: [PATCH 060/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 6177 ---------------------------------------------------- 4 files changed, 6260 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 1881a26..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 2.0 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 7524794..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2023 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol.toStringTag:"";i=e()?function(r){var e,i,o,u,c;if(null==r)return t.call(r);i=r[a],c=a,e=null!=(u=r)&&n.call(u,c);try{r[a]=void 0}catch(e){return t.call(r)}return o=t.call(r),e?r[a]=i:delete r[a],o}:function(r){return t.call(r)};var o=i,u="function"==typeof Float32Array;var c=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var s="function"==typeof Float32Array?Float32Array:void 0;var f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(u&&t instanceof Float32Array||"[object Float32Array]"===o(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===c}catch(e){r=!1}return r}()?s:function(){throw new Error("not implemented")},g="function"==typeof Uint32Array;var p="function"==typeof Uint32Array?Uint32Array:null;var h="function"==typeof Uint32Array?Uint32Array:void 0;var d=function(){var r,e,t;if("function"!=typeof p)return!1;try{e=new p(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(g&&t instanceof Uint32Array||"[object Uint32Array]"===o(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?h:function(){throw new Error("not implemented")},v=new f(1);new d(v.buffer)[0]=2139095040;var m=v[0],w=new f(1);new d(w.buffer)[0]=4286578688;var y=w[0];var b=Math.floor,E="function"==typeof Object.defineProperty?Object.defineProperty:null;var _=Object.defineProperty,S=Object.prototype,T=S.toString,x=S.__defineGetter__,V=S.__defineSetter__,A=S.__lookupGetter__,j=S.__lookupSetter__;var F=function(){try{return E({},"x",{}),!0}catch(r){return!1}}()?_:function(r,e,t){var n,i,a,o;if("object"!=typeof r||null===r||"[object Array]"===T.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof t||null===t||"[object Array]"===T.call(t))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+t+"`.");if((i="value"in t)&&(A.call(r,e)||j.call(r,e)?(n=r.__proto__,r.__proto__=S,delete r[e],r[e]=t.value,r.__proto__=n):r[e]=t.value),a="get"in t,o="set"in t,i&&(a||o))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return a&&x&&x.call(r,e,t.get),o&&V&&V.call(r,e,t.set),r};function k(r,e,t){F(r,e,{configurable:!1,enumerable:!1,writable:!1,value:t})}function O(r){return"number"==typeof r}var I=Number,P=I.prototype.toString;var R=e();function N(r){return"object"==typeof r&&(r instanceof I||(R?function(r){try{return P.call(r),!0}catch(r){return!1}}(r):"[object Number]"===o(r)))}function $(r){return O(r)||N(r)}k($,"isPrimitive",O),k($,"isObject",N);var U=I.NEGATIVE_INFINITY;function C(r){return rU&&b(e=r)===e;var e}function G(r){return O(r)&&C(r)}function Z(r){return N(r)&&C(r.valueOf())}function M(r){return G(r)||Z(r)}function W(r){return G(r)&&r>=0}function L(r){return Z(r)&&r.valueOf()>=0}function X(r){return W(r)||L(r)}function Y(r){return"string"==typeof r}k(M,"isPrimitive",G),k(M,"isObject",Z),k(X,"isPrimitive",W),k(X,"isObject",L);var z=String.prototype.valueOf;var q=e();function B(r){return"object"==typeof r&&(r instanceof String||(q?function(r){try{return z.call(r),!0}catch(r){return!1}}(r):"[object String]"===o(r)))}function D(r){return Y(r)||B(r)}k(D,"isPrimitive",Y),k(D,"isObject",B);function H(r){return"number"==typeof r}function J(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=or.call(t,pr,"$1e"),t=or.call(t,gr,"e"),t=or.call(t,fr,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=or.call(t,ur,"e+0$1"),t=or.call(t,cr,"e-0$1"),r.alternate&&(t=or.call(t,lr,"$1."),t=or.call(t,sr,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===ar.call(r.specifier)?ar.call(t):ir.call(t)}function dr(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=wr(a)?String(n.arg):mr(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=hr(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=K(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=vr(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var _r=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Sr(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function Tr(r){var e,t,n,i;for(t=[],i=0,n=_r.exec(r);n;)(e=r.slice(i,_r.lastIndex-n[0].length)).length&&t.push(e),t.push(Sr(n)),i=_r.lastIndex,n=_r.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function xr(r){return"string"==typeof r}function Vr(r){var e,t,n;if(!xr(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=Tr(r),(t=new Array(arguments.length))[0]=e,n=1;n9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",r.length*e));for(t="",n=e;1==(1&n)&&(t+=r),0!==(n>>>=1);)r+=r;return t}var jr=Math.ceil;function Fr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=b(e))?"0"+t:"1"+t;return t}function kr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===y?"1":"0",r===m||r===y)return t+(i=Ar("1",8))+(n=Ar("0",23));if(r!=r)return t+(i=Ar("1",8))+(n="1"+Ar("0",22));if(0===r)return t+(i=Ar("0",8))+(n=Ar("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=b(r)),a=Fr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:Ar(i,n=jr(n))+r}(i=Fr(i+127),8,"0"),n=function(r,e,t){var n,i;if(!Y(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!W(e))throw new TypeError(Vr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:r+Ar(i,n=jr(n))}(n,23,"0").substring(0,23),t+i+n}export{kr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 9d358cc..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/native_class.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/number.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/is_integer.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/string-repeat/lib/repeat.js","../node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/math-base-special-ceil/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/left_pad.js","../node_modules/@stdlib/string-right-pad/lib/right_pad.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './native_class.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './float32array.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './uint32array.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isNumber from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isInteger from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isNonNegativeInteger from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isString from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport format from '@stdlib/string-format';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', str.length * n ) );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport repeat from '@stdlib/string-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport repeat from '@stdlib/string-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","nativeClass","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass$1","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","main","ctor","Float32Array$1","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","hasUint32Array","Uint32Array","Uint32Array$1","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","isNumber","Number$1","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","String","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","repeat","rpt","cnt","RangeError","ceil","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","len","p","lpad","rpad"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA+B,mBAAXV,OAA0BA,OAAOE,YAAc,GC8BtEO,EADIE,ICDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EHHgBC,EAAOC,EGK3B,GAAKL,QACJ,OAAOT,EAAMe,KAAMN,GAEpBE,EAAMF,EAAGV,GHRkBe,EGSJf,EAAvBW,EHPCG,OAFmBA,EGSAJ,IHFbL,EAAIW,KAAMF,EAAOC,GGKxB,IACCL,EAAGV,QAAgB,CAGnB,CAFC,MAAQiB,GACT,OAAOhB,EAAMe,KAAMN,EACnB,CAQD,OAPAG,EAAMZ,EAAMe,KAAMN,GAEbC,EACJD,EAAGV,GAAgBY,SAEZF,EAAGV,GAEJa,CACR,EC3BA,SAAsBH,GACrB,OAAOT,EAAMe,KAAMN,EACpB,EFUA,IAAAQ,EAAeX,EGjCXY,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBC,EAAiC,mBAAjBJ,aAAgCA,aAAe,KCAnE,IAAIK,EAAiC,mBAAjBL,aAAgCA,kBAAe,EC6BnE,IAAAM,ECbA,WACC,IAAIC,EACAC,ELMoBd,EKJxB,GAAmC,mBAAvBe,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bf,EKGNc,EADjBD,GLAER,GAAmBL,aAAiBM,cACb,0BAAzBb,EAAaO,KKCC,IAAbc,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAId,CAFC,MAAQb,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECJIC,EAA0C,mBAAhBC,YC4B9B,ICjCIX,EAAgC,mBAAhBW,YAA+BA,YAAc,KCAjE,IAAIV,EAAgC,mBAAhBU,YAA+BA,iBAAc,EC6BjE,IAAAC,ECbA,WACC,IAAIT,EACAC,ELMmBd,EKJvB,GAAkC,mBAAtBuB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBxB,EKINc,EADhBD,GLDEO,GAAkBpB,aAAiBqB,aACZ,yBAAzB5B,EAAaO,KKEC,IAAbc,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQX,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECQIO,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAX,EALIU,EAAc,GC9BdA,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbnB,EAA0C,mBAA1BtB,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eC/BxBC,EAAiB5C,OAAOC,UACxBF,EAAQ6C,EAAe1C,SACvB2C,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBC4BlC,IAAAC,ECpBA,WAEC,IAEC,OADAV,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ5B,GACT,OAAO,CACP,CACF,CDGKuC,GACaxB,EDgBlB,SAAyByB,EAAKC,EAAMC,GACnC,IAAIxD,EACAyD,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBxD,EAAMe,KAAMyC,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B1D,EAAMe,KAAM2C,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBR,EAAanC,KAAMyC,EAAKC,IACxBL,EAAarC,KAAMyC,EAAKC,IAGxBvD,EAAYsD,EAAIO,UAChBP,EAAIO,UAAYlB,SAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW7C,MAGzB2C,EAAIO,UAAY7D,GAEhBsD,EAAKC,GAASC,EAAW7C,OAG3B+C,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAI7B,MAAO,wHASlB,OANK4B,GAAUd,GACdA,EAAa/B,KAAMyC,EAAKC,EAAMC,EAAWM,KAErCH,GAAUb,GACdA,EAAajC,KAAMyC,EAAKC,EAAMC,EAAWO,KAEnCT,CACR,EGlEA,SAASU,EAA0BV,EAAKC,EAAM5C,GAC7C+B,EAAgBY,EAAKC,EAAM,CAC1BU,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxD,MAASA,GAEX,CCdA,SAASyD,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAA0D,EAAelD,OCMXlB,EAAWkB,EAAOnB,UAAUC,SCEhC,IAAIP,EAAMY,IAmBV,SAAS8D,EAAUzD,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,IAGjBzB,ECpBP,SAAeiB,GACd,IAEC,OADAV,EAASY,KAAMF,IACR,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDcUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEVA,SAASyD,EAAUzD,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCoBA8D,EAAAL,EAAA,cAAAG,GACAE,EAAAL,EAAA,WAAAI,GCnBA,IAAIE,EAAevD,EAAOwD,kBClB1B,SAASC,EAAWjE,GACnB,OACCA,EAAQgB,GACRhB,EAAQ4B,GCGDC,EADWqC,EDDXlE,KCEakE,EADtB,IAAoBA,CDCpB,CEAA,SAASD,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAET,CCLA,SAASiE,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAAMoE,UAEf,CCGA,SAASH,EAAWjE,GACnB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCXA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,GAAS,CAEX,CCLA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,EAAMoE,WAAa,CAErB,CCQA,SAASC,EAAsBrE,GAC9B,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCtBA,SAASsE,EAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCmCA8D,EAAAG,EAAA,cAAAL,GACAE,EAAAG,EAAA,WAAAJ,GCAAC,EAAAO,EAAA,cAAAT,GACAE,EAAAO,EAAA,WAAAR,GCpDA,IAAIO,EAAUG,OAAOlF,UAAU+E,QCQ/B,IAAIrF,EAAMY,IAmBV,SAAS2E,EAAUtE,GAClB,MAAsB,iBAAVA,IACNA,aAAiBuE,SAGjBxF,ECnBP,SAAeiB,GACd,IAEC,OADAoE,EAAQlE,KAAMF,IACP,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDaUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEjBA,SAASsE,EAAUtE,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCsBA8D,EAAAQ,EAAA,cAAAV,GACAE,EAAAQ,EAAA,WAAAT,GC7BA,SAASJ,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASwE,EAAOC,GACf,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAAS4E,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAajC,SAASC,GAAeC,GACvB,IAAIC,EACA3F,EACA2E,EAEJ,OAASe,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFA3F,EAAM0F,EAAMG,IACZlB,EAAImB,SAAU9F,EAAK,KACb+F,SAAUpB,GAAM,CACrB,IAAMjB,EAAU1D,GACf,MAAM,IAAIoB,MAAO,2BAA6BpB,GAE/C2E,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBe,EAAME,WAA8B,KAATD,KAC1ChB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACR3E,IAAS2E,GAAIpF,SAAUoG,GAClBD,EAAMM,YACVhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAE5CjG,EAAM,IAAMA,IAEZA,EAAM2E,EAAEpF,SAAUoG,GACZhB,GAAMe,EAAMM,UAENN,EAAMM,YACjBhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAF3CjG,EAAM,GAIF0F,EAAMQ,OACVlG,EAAM0F,EAAMQ,KAAOlG,IAGP,KAAT2F,IACCD,EAAMS,YACVnG,EAAM,KAAOA,GAEdA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,EAAUlF,KAAMH,IAEJ,IAAT2F,GACCD,EAAMS,WAAiC,MAApBnG,EAAIoG,OAAQ,KACnCpG,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAASuE,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAIoG,GAAMtE,KAAKsE,IACXhB,GAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAC7Bc,GAAU9B,OAAOlF,UAAUgH,QAK3BC,GAAoB,WACpBC,GAAoB,UACpBC,GAAiB,UACjBC,GAAuB,UACvBC,GAA0B,OAC1BC,GAAqB,QACrBC,GAAqB,gBAazB,SAASC,GAAcpB,GACtB,IAAIqB,EACA/G,EACAgH,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMtD,EAAUgC,EAAMG,KACrB,MAAM,IAAIzE,MAAO,yCAA2CpB,GAG7DgH,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJ5F,EAAMgH,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJhG,EAAMgH,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,GAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEX/G,EAAMgH,EAAEE,cAAeH,IAEvB/G,EAAMgH,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACXnG,EAAMsG,GAAQnG,KAAMH,EAAK6G,GAAoB,OAC7C7G,EAAMsG,GAAQnG,KAAMH,EAAK4G,GAAoB,KAC7C5G,EAAMsG,GAAQnG,KAAMH,EAAK2G,GAAyB,KAEnD,MACD,QACC,MAAM,IAAIvF,MAAO,mCAAqCsE,EAAME,WAc7D,OAZA5F,EAAMsG,GAAQnG,KAAMH,EAAKuG,GAAmB,SAC5CvG,EAAMsG,GAAQnG,KAAMH,EAAKwG,GAAmB,SACvCd,EAAMS,YACVnG,EAAMsG,GAAQnG,KAAMH,EAAKyG,GAAgB,OACzCzG,EAAMsG,GAAQnG,KAAMH,EAAK0G,GAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpBlG,EAAM0F,EAAMQ,KAAOlG,GAEpBA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,GAAUlF,KAAMH,EAElB,CC5EA,SAASqH,GAAQ3C,GAChB,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAASsH,GAAUzC,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAMwC,GAAQpC,GACdoC,GAAQpC,GAAQJ,CAElB,CC5BA,IAAI0C,GAAe/C,OAAO+C,aACtBC,GAAQC,MACRC,GAAUC,MAAMD,QAYpB,SAASE,GAAYlC,GACpB,IAAI1F,EAAM,CAAA,EAMV,OALAA,EAAI4F,UAAYF,EAAME,UACtB5F,EAAIgG,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DhG,EAAI8E,MAAQY,EAAMZ,MAClB9E,EAAI6H,MAAQnC,EAAMmC,OAAS,GAC3B7H,EAAI8H,QAAUpC,EAAMoC,QACb9H,CACR,CAmBA,SAAS+H,GAAmBC,GAC3B,IAAIC,EACAJ,EACAnC,EACAwC,EACAC,EACAnI,EACAoI,EACAzD,EACA0D,EAEJ,IAAMX,GAASM,GACd,MAAM,IAAI9E,UAAW,8DAAgE8E,EAAS,MAI/F,IAFAhI,EAAM,GACNoI,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GAAKJ,GADLmB,EAAQsC,EAAQrD,IAEf3E,GAAO0F,MACD,CAGN,GAFAuC,OAAgC,IAApBvC,EAAMM,YAClBN,EAAQkC,GAAYlC,IACRE,UACX,MAAM,IAAI1C,UAAW,oEAAqEyB,EAAG,cAAgBe,EAAQ,MAMtH,IAJKA,EAAMoC,UACVM,EAAM1C,EAAMoC,SAEbD,EAAQnC,EAAMmC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMzB,OAAQiC,IAErB,IAAK,IACJ3C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWT,EAAMU,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI/E,MAAO,iBAAmB8G,GAGtC,GAAqB,MAAhBxC,EAAMZ,MAAgB,CAG1B,GAFAY,EAAMZ,MAAQgB,SAAU0C,UAAWJ,GAAO,IAC1CA,GAAO,EACFZ,GAAO9B,EAAMZ,OACjB,MAAM,IAAI5B,UAAW,wCAA0CkF,EAAM,6BAA+B1C,EAAMZ,MAAQ,MAE9GY,EAAMZ,MAAQ,IAClBY,EAAMO,UAAW,EACjBP,EAAMZ,OAASY,EAAMZ,MAEtB,CACD,GAAKmD,GACqB,MAApBvC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWJ,GAAO,IAC9CA,GAAO,EACFZ,GAAO9B,EAAMM,WACjB,MAAM,IAAI9C,UAAW,4CAA8CkF,EAAM,6BAA+B1C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBiC,GAAY,EAEb,CAGF,OADAvC,EAAMG,IAAM2C,UAAWJ,GACd1C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECqC,IACJvC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,GAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMwB,GAAO9B,EAAMG,KAAQ,CAE1B,IADAsC,EAAMrC,SAAUJ,EAAMG,IAAK,KAChB,GAAKsC,EAAM,IACrB,MAAM,IAAI/G,MAAO,kCAAoCsE,EAAMG,KAE5DH,EAAMG,IAAQ2B,GAAOW,GACpB3D,OAAQkB,EAAMG,KACd0B,GAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLvC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,GAAcpB,GAC1B,MACD,QACC,MAAM,IAAItE,MAAO,sBAAwBsE,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIX,OAASQ,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMjB,EAASc,EAAMG,IAAKH,EAAMZ,OAASY,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMZ,QACjBY,EAAMG,IAAMyB,GAAU5B,EAAMG,IAAKH,EAAMZ,MAAOY,EAAMO,WAErDjG,GAAO0F,EAAMG,KAAO,GACpBuC,GAAO,CACP,CAEF,OAAOpI,CACR,CC3LA,IAAI2I,GAAK,6EAYT,SAASC,GAAOC,GACf,IAAInD,EAAQ,CACXoC,QAAae,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDhB,MAASgB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASoD,GAAgBjE,GACxB,IAAIkE,EACAf,EACAa,EACAG,EAKJ,IAHAhB,EAAS,GACTgB,EAAO,EACPH,EAAQF,GAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,GAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ8C,EAAOoB,KAAML,GAEdf,EAAOoB,KAAMR,GAAOC,IACpBG,EAAOL,GAAGQ,UACVN,EAAQF,GAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ8C,EAAOoB,KAAML,GAEPf,CACR,CClDA,SAASzD,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAASoJ,GAAQxE,GAChB,IAAImD,EACAsB,EACA3E,EAEJ,IAAMJ,GAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAKjG,IAHAmD,EAASuB,GAAU1E,IACnByE,EAAO,IAAI3B,MAAOa,UAAUtD,SACtB,GAAM8C,EACNrD,EAAI,EAAGA,EAAI2E,EAAKpE,OAAQP,IAC7B2E,EAAM3E,GAAM6D,UAAW7D,GAExB,OAAO6E,GAAYC,MAAO,KAAMH,EACjC,CC8BA,SAASI,GAAQ7E,EAAKH,GACrB,IAAIiF,EACAC,EACJ,IAAMrF,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBI,GAC3B,MAAM,IAAIxB,UAAWmG,GAAQ,gFAAiF3E,IAE/G,GAAoB,IAAfG,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAGR,GAAKG,EAAIK,OAASR,ECrDY,iBDsD7B,MAAM,IAAImF,WAAYR,GAAQ,6FAA8FxE,EAAIK,OAASR,IAI1I,IAFAiF,EAAM,GACNC,EAAMlF,EAGY,IAAP,EAAJkF,KACLD,GAAO9E,GAIK,KADb+E,KAAS,IAKT/E,GAAOA,EAER,OAAO8E,CACR,CE/EA,IAAIG,GAAO/H,KAAK+H,KCMhB,SAASC,GAAM5F,GAKd,IAJA,IACI6F,EADAnF,EAAM,GAIFV,EAAI,GAIVU,GAHDmF,EAAI7F,EAAI,MACRA,EAAIrC,EAAOkI,IAEJ,IAAMnF,EAEN,IAAMA,EAGd,OAAOA,CACR,CC8BA,SAASoF,GAAiB9F,GACzB,IAAI+F,EACAhE,EACArB,EACAsF,EACAzF,EACAsC,EACArC,EASJ,GALCuB,EADI/B,EAAI,GAAO,EAAIA,IAAMtC,EAClB,IAEA,IAGHsC,IAAMlD,GAAQkD,IAAMtC,EAIxB,OAAOqE,GAFPiE,EAAMT,GAAQ,IA3EQ,KA4EtB7E,EAAM6E,GAAQ,IA7EW,KAiF1B,GAAKvF,GAAMA,EAIV,OAAO+B,GAFPiE,EAAMT,GAAQ,IAlFQ,KAmFtB7E,EAAM,IAAM6E,GAAQ,IAAKU,KAI1B,GAAW,IAANjG,EAIJ,OAAO+B,GAFPiE,EAAMT,GAAQ,IAzFQ,KA0FtB7E,EAAM6E,GAAQ,IA3FW,KA2G1B,GAPA1C,GANA7C,ECnFD,SAAcA,GACb,OAAOpC,KAAKsE,IAAKlC,EAClB,CDiFKkC,CAAKlC,KAGTO,EAAI5C,EAAOqC,IAMXO,EAAIqF,GAAMrF,GACVsC,EElGD,SAAgB7C,GACf,IAAIU,EACAmF,EACArF,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAANV,EACJ,OAAOU,EAKR,IAHAwD,EA/Bc,IAkCR1D,EAAI,EAAGA,EAlCC,OAmCbqF,EAAQ,EAAJ7F,IACM,GACTA,EAAI6F,EAAI,EACRnF,GAAO,IAtCK,MAuCPwD,IACJA,EAAI1D,KAGLR,EAAI6F,EACJnF,GAAO,OAGG,IAANmF,GAAarF,EAAE0D,EA9CP,KAiCa1D,KAkB3B,OAAOE,CACR,CFkEKwF,CAAOrD,GAGNtC,EAEJyF,EAAMzF,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIqC,EAAE9B,OAAQP,IAC1B,GAAgB,MAAXqC,EAAGrC,GAAc,CACrBuF,EAAQvF,EAAI,EACZ,KACA,CAGFwF,GAAOD,CACP,CAuBD,OArBArF,EAAMH,EAAIsC,EACLmD,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTzF,EAAMA,EAAI6D,UAAWwB,IAGrBrF,EAAMA,EAAI6D,UAAW,GAItByB,EItHD,SAAetF,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,gEAEzB,MACEW,EAAI,IAEL,GAAKD,EPzByB,iBO0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGD6E,GAAQc,EADf9F,EAAIoF,GAAMpF,IACcG,CACzB,CJyFO4F,CADNN,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpCtF,EKzHD,SAAeA,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,4DAEzB,MACEW,EAAI,IAEL,GAAKD,ERzByB,iBQ0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGDA,EAAM6E,GAAQc,EADrB9F,EAAIoF,GAAMpF,GAEX,CL4FOgG,CAAM7F,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IA+InBxC,EAAOiE,EAAMtF,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index bcfb06b..0000000 --- a/stats.html +++ /dev/null @@ -1,6177 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From b85378712e46eb71baf0615a26ea48e88ccadba5 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 20 Aug 2023 01:20:41 +0000 Subject: [PATCH 061/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 49 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 62 - .github/workflows/cancel.yml | 56 - .github/workflows/close_pull_requests.yml | 44 - .github/workflows/examples.yml | 62 - .github/workflows/npm_downloads.yml | 108 - .github/workflows/productionize.yml | 783 --- .github/workflows/publish.yml | 242 - .github/workflows/test.yml | 97 - .github/workflows/test_bundles.yml | 180 - .github/workflows/test_coverage.yml | 123 - .github/workflows/test_install.yml | 83 - .gitignore | 188 - .npmignore | 227 - .npmrc | 28 - CHANGELOG.md | 5 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 6177 +++++++++++++++++++++ test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 47 files changed, 6196 insertions(+), 4126 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0fd4d6c..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 06a9a75..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index a00dbe5..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,56 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - uses: styfle/cancel-workflow-action@0.11.0 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index 576054a..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,44 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 7902a7d..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout the repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 0bf9073..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,108 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - uses: actions/upload-artifact@v3 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - uses: distributhor/workflow-webhook@v3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 91f2b93..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,783 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - uses: actions/checkout@v3 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - uses: actions/checkout@v3 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - uses: act10ns/slack@v2 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From b78da09401c67741d5b61ba130dcc1c9b2f89824 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 24 Sep 2023 00:22:08 +0000 Subject: [PATCH 062/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index a5bb5ca..4eb2a73 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.1.0", "@stdlib/string-left-pad": "^0.1.0", "@stdlib/string-repeat": "^0.1.0", - "@stdlib/string-right-pad": "^0.1.0" + "@stdlib/string-right-pad": "^0.1.0", + "@stdlib/error-tools-fmtprodmsg": "^0.1.0" }, "devDependencies": { "@stdlib/assert-is-string": "^0.1.0", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From 877ef64208dac547b9ffa9df955dc4400470a24e Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 24 Sep 2023 01:43:58 +0000 Subject: [PATCH 063/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 6177 ---------------------------------------------------- 4 files changed, 6260 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 3b4f336..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 7524794..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2023 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol.toStringTag:"";i=e()?function(r){var e,i,o,u,c;if(null==r)return t.call(r);i=r[a],c=a,e=null!=(u=r)&&n.call(u,c);try{r[a]=void 0}catch(e){return t.call(r)}return o=t.call(r),e?r[a]=i:delete r[a],o}:function(r){return t.call(r)};var o=i,u="function"==typeof Float32Array;var c=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var s="function"==typeof Float32Array?Float32Array:void 0;var f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(u&&t instanceof Float32Array||"[object Float32Array]"===o(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===c}catch(e){r=!1}return r}()?s:function(){throw new Error("not implemented")},g="function"==typeof Uint32Array;var p="function"==typeof Uint32Array?Uint32Array:null;var h="function"==typeof Uint32Array?Uint32Array:void 0;var d=function(){var r,e,t;if("function"!=typeof p)return!1;try{e=new p(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(g&&t instanceof Uint32Array||"[object Uint32Array]"===o(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?h:function(){throw new Error("not implemented")},v=new f(1);new d(v.buffer)[0]=2139095040;var m=v[0],w=new f(1);new d(w.buffer)[0]=4286578688;var y=w[0];var b=Math.floor,E="function"==typeof Object.defineProperty?Object.defineProperty:null;var _=Object.defineProperty,S=Object.prototype,T=S.toString,x=S.__defineGetter__,V=S.__defineSetter__,A=S.__lookupGetter__,j=S.__lookupSetter__;var F=function(){try{return E({},"x",{}),!0}catch(r){return!1}}()?_:function(r,e,t){var n,i,a,o;if("object"!=typeof r||null===r||"[object Array]"===T.call(r))throw new TypeError("invalid argument. First argument must be an object. Value: `"+r+"`.");if("object"!=typeof t||null===t||"[object Array]"===T.call(t))throw new TypeError("invalid argument. Property descriptor must be an object. Value: `"+t+"`.");if((i="value"in t)&&(A.call(r,e)||j.call(r,e)?(n=r.__proto__,r.__proto__=S,delete r[e],r[e]=t.value,r.__proto__=n):r[e]=t.value),a="get"in t,o="set"in t,i&&(a||o))throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.");return a&&x&&x.call(r,e,t.get),o&&V&&V.call(r,e,t.set),r};function k(r,e,t){F(r,e,{configurable:!1,enumerable:!1,writable:!1,value:t})}function O(r){return"number"==typeof r}var I=Number,P=I.prototype.toString;var R=e();function N(r){return"object"==typeof r&&(r instanceof I||(R?function(r){try{return P.call(r),!0}catch(r){return!1}}(r):"[object Number]"===o(r)))}function $(r){return O(r)||N(r)}k($,"isPrimitive",O),k($,"isObject",N);var U=I.NEGATIVE_INFINITY;function C(r){return rU&&b(e=r)===e;var e}function G(r){return O(r)&&C(r)}function Z(r){return N(r)&&C(r.valueOf())}function M(r){return G(r)||Z(r)}function W(r){return G(r)&&r>=0}function L(r){return Z(r)&&r.valueOf()>=0}function X(r){return W(r)||L(r)}function Y(r){return"string"==typeof r}k(M,"isPrimitive",G),k(M,"isObject",Z),k(X,"isPrimitive",W),k(X,"isObject",L);var z=String.prototype.valueOf;var q=e();function B(r){return"object"==typeof r&&(r instanceof String||(q?function(r){try{return z.call(r),!0}catch(r){return!1}}(r):"[object String]"===o(r)))}function D(r){return Y(r)||B(r)}k(D,"isPrimitive",Y),k(D,"isObject",B);function H(r){return"number"==typeof r}function J(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=or.call(t,pr,"$1e"),t=or.call(t,gr,"e"),t=or.call(t,fr,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=or.call(t,ur,"e+0$1"),t=or.call(t,cr,"e-0$1"),r.alternate&&(t=or.call(t,lr,"$1."),t=or.call(t,sr,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===ar.call(r.specifier)?ar.call(t):ir.call(t)}function dr(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=wr(a)?String(n.arg):mr(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=hr(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=K(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=vr(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var _r=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Sr(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function Tr(r){var e,t,n,i;for(t=[],i=0,n=_r.exec(r);n;)(e=r.slice(i,_r.lastIndex-n[0].length)).length&&t.push(e),t.push(Sr(n)),i=_r.lastIndex,n=_r.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function xr(r){return"string"==typeof r}function Vr(r){var e,t,n;if(!xr(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=Tr(r),(t=new Array(arguments.length))[0]=e,n=1;n9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",r.length*e));for(t="",n=e;1==(1&n)&&(t+=r),0!==(n>>>=1);)r+=r;return t}var jr=Math.ceil;function Fr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=b(e))?"0"+t:"1"+t;return t}function kr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===y?"1":"0",r===m||r===y)return t+(i=Ar("1",8))+(n=Ar("0",23));if(r!=r)return t+(i=Ar("1",8))+(n="1"+Ar("0",22));if(0===r)return t+(i=Ar("0",8))+(n=Ar("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=b(r)),a=Fr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:Ar(i,n=jr(n))+r}(i=Fr(i+127),8,"0"),n=function(r,e,t){var n,i;if(!Y(r))throw new TypeError(Vr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!W(e))throw new TypeError(Vr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Y(i=t))throw new TypeError(Vr("invalid argument. Third argument must be a string. Value: `%s`.",i));if(0===i.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else i=" ";if(e>9007199254740991)throw new RangeError(Vr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return(n=(e-r.length)/i.length)<=0?r:r+Ar(i,n=jr(n))}(n,23,"0").substring(0,23),t+i+n}export{kr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 9d358cc..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/native_class.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/number.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/is_integer.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/string-repeat/lib/repeat.js","../node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/math-base-special-ceil/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/left_pad.js","../node_modules/@stdlib/string-right-pad/lib/right_pad.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './native_class.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar nativeClass;\nif ( hasToStringTag() ) {\n\tnativeClass = polyfill;\n} else {\n\tnativeClass = builtin;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './float32array.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './uint32array.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an object. Value: `' + obj + '`.' );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( 'invalid argument. Property descriptor must be an object. Value: `' + descriptor + '`.' );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isNumber from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isNumber, 'isPrimitive', isPrimitive );\nsetReadOnly( isNumber, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isInteger from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isNonNegativeInteger from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isNonNegativeInteger, 'isPrimitive', isPrimitive );\nsetReadOnly( isNonNegativeInteger, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport isString from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( isString, 'isPrimitive', isPrimitive );\nsetReadOnly( isString, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport format from '@stdlib/string-format';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\t// Check that output string will not exceed the maximum string length:\n\tif ( str.length * n > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', str.length * n ) );\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport repeat from '@stdlib/string-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( p, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport repeat from '@stdlib/string-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n;\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\tn = ( len - str.length ) / p.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( p, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","nativeClass","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass$1","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","main","ctor","Float32Array$1","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","hasUint32Array","Uint32Array","Uint32Array$1","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","TypeError","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","isNumber","Number$1","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","String","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","repeat","rpt","cnt","RangeError","ceil","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","len","p","lpad","rpad"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA+B,mBAAXV,OAA0BA,OAAOE,YAAc,GC8BtEO,EADIE,ICDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EHHgBC,EAAOC,EGK3B,GAAKL,QACJ,OAAOT,EAAMe,KAAMN,GAEpBE,EAAMF,EAAGV,GHRkBe,EGSJf,EAAvBW,EHPCG,OAFmBA,EGSAJ,IHFbL,EAAIW,KAAMF,EAAOC,GGKxB,IACCL,EAAGV,QAAgB,CAGnB,CAFC,MAAQiB,GACT,OAAOhB,EAAMe,KAAMN,EACnB,CAQD,OAPAG,EAAMZ,EAAMe,KAAMN,GAEbC,EACJD,EAAGV,GAAgBY,SAEZF,EAAGV,GAEJa,CACR,EC3BA,SAAsBH,GACrB,OAAOT,EAAMe,KAAMN,EACpB,EFUA,IAAAQ,EAAeX,EGjCXY,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBC,EAAiC,mBAAjBJ,aAAgCA,aAAe,KCAnE,IAAIK,EAAiC,mBAAjBL,aAAgCA,kBAAe,EC6BnE,IAAAM,ECbA,WACC,IAAIC,EACAC,ELMoBd,EKJxB,GAAmC,mBAAvBe,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bf,EKGNc,EADjBD,GLAER,GAAmBL,aAAiBM,cACb,0BAAzBb,EAAaO,KKCC,IAAbc,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAId,CAFC,MAAQb,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECJIC,EAA0C,mBAAhBC,YC4B9B,ICjCIX,EAAgC,mBAAhBW,YAA+BA,YAAc,KCAjE,IAAIV,EAAgC,mBAAhBU,YAA+BA,iBAAc,EC6BjE,IAAAC,ECbA,WACC,IAAIT,EACAC,ELMmBd,EKJvB,GAAkC,mBAAtBuB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBxB,EKINc,EADhBD,GLDEO,GAAkBpB,aAAiBqB,aACZ,yBAAzB5B,EAAaO,KKEC,IAAbc,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQX,GACTU,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,ECQIO,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAX,EALIU,EAAc,GC9BdA,EAAe,IAAIpB,EAAc,GACnB,IAAIe,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbnB,EAA0C,mBAA1BtB,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eC/BxBC,EAAiB5C,OAAOC,UACxBF,EAAQ6C,EAAe1C,SACvB2C,EAAeD,EAAeE,iBAC9BC,EAAeH,EAAeI,iBAC9BC,EAAeL,EAAeM,iBAC9BC,EAAeP,EAAeQ,iBC4BlC,IAAAC,ECpBA,WAEC,IAEC,OADAV,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ5B,GACT,OAAO,CACP,CACF,CDGKuC,GACaxB,EDgBlB,SAAyByB,EAAKC,EAAMC,GACnC,IAAIxD,EACAyD,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBxD,EAAMe,KAAMyC,GAC3D,MAAM,IAAIM,UAAW,+DAAiEN,EAAM,MAE7F,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B1D,EAAMe,KAAM2C,GACzE,MAAM,IAAII,UAAW,oEAAsEJ,EAAa,MAyBzG,IAvBAC,EAAa,UAAWD,KAGtBR,EAAanC,KAAMyC,EAAKC,IACxBL,EAAarC,KAAMyC,EAAKC,IAGxBvD,EAAYsD,EAAIO,UAChBP,EAAIO,UAAYlB,SAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW7C,MAGzB2C,EAAIO,UAAY7D,GAEhBsD,EAAKC,GAASC,EAAW7C,OAG3B+C,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAI7B,MAAO,wHASlB,OANK4B,GAAUd,GACdA,EAAa/B,KAAMyC,EAAKC,EAAMC,EAAWM,KAErCH,GAAUb,GACdA,EAAajC,KAAMyC,EAAKC,EAAMC,EAAWO,KAEnCT,CACR,EGlEA,SAASU,EAA0BV,EAAKC,EAAM5C,GAC7C+B,EAAgBY,EAAKC,EAAM,CAC1BU,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxD,MAASA,GAEX,CCdA,SAASyD,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAA0D,EAAelD,OCMXlB,EAAWkB,EAAOnB,UAAUC,SCEhC,IAAIP,EAAMY,IAmBV,SAAS8D,EAAUzD,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,IAGjBzB,ECpBP,SAAeiB,GACd,IAEC,OADAV,EAASY,KAAMF,IACR,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDcUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEVA,SAASyD,EAAUzD,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCoBA8D,EAAAL,EAAA,cAAAG,GACAE,EAAAL,EAAA,WAAAI,GCnBA,IAAIE,EAAevD,EAAOwD,kBClB1B,SAASC,EAAWjE,GACnB,OACCA,EAAQgB,GACRhB,EAAQ4B,GCGDC,EADWqC,EDDXlE,KCEakE,EADtB,IAAoBA,CDCpB,CEAA,SAASD,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAET,CCLA,SAASiE,EAAWjE,GACnB,OACCyD,EAAUzD,IACVmE,EAAOnE,EAAMoE,UAEf,CCGA,SAASH,EAAWjE,GACnB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCXA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,GAAS,CAEX,CCLA,SAASqE,EAAsBrE,GAC9B,OACCiE,EAAWjE,IACXA,EAAMoE,WAAa,CAErB,CCQA,SAASC,EAAsBrE,GAC9B,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCtBA,SAASsE,EAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCmCA8D,EAAAG,EAAA,cAAAL,GACAE,EAAAG,EAAA,WAAAJ,GCAAC,EAAAO,EAAA,cAAAT,GACAE,EAAAO,EAAA,WAAAR,GCpDA,IAAIO,EAAUG,OAAOlF,UAAU+E,QCQ/B,IAAIrF,EAAMY,IAmBV,SAAS2E,EAAUtE,GAClB,MAAsB,iBAAVA,IACNA,aAAiBuE,SAGjBxF,ECnBP,SAAeiB,GACd,IAEC,OADAoE,EAAQlE,KAAMF,IACP,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDaUwD,CAAM3D,GAEoB,oBAAzBP,EAAaO,IAGxB,CEjBA,SAASsE,EAAUtE,GAClB,OAAS4D,EAAa5D,IAAW6D,EAAU7D,EAC5C,CCsBA8D,EAAAQ,EAAA,cAAAV,GACAE,EAAAQ,EAAA,WAAAT,GC7BA,SAASJ,EAAUzD,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASwE,EAAOC,GACf,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAAS4E,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAajC,SAASC,GAAeC,GACvB,IAAIC,EACA3F,EACA2E,EAEJ,OAASe,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFA3F,EAAM0F,EAAMG,IACZlB,EAAImB,SAAU9F,EAAK,KACb+F,SAAUpB,GAAM,CACrB,IAAMjB,EAAU1D,GACf,MAAM,IAAIoB,MAAO,2BAA6BpB,GAE/C2E,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBe,EAAME,WAA8B,KAATD,KAC1ChB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACR3E,IAAS2E,GAAIpF,SAAUoG,GAClBD,EAAMM,YACVhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAE5CjG,EAAM,IAAMA,IAEZA,EAAM2E,EAAEpF,SAAUoG,GACZhB,GAAMe,EAAMM,UAENN,EAAMM,YACjBhG,EAAM4E,EAAS5E,EAAK0F,EAAMM,UAAWN,EAAMO,WAF3CjG,EAAM,GAIF0F,EAAMQ,OACVlG,EAAM0F,EAAMQ,KAAOlG,IAGP,KAAT2F,IACCD,EAAMS,YACVnG,EAAM,KAAOA,GAEdA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,EAAUlF,KAAMH,IAEJ,IAAT2F,GACCD,EAAMS,WAAiC,MAApBnG,EAAIoG,OAAQ,KACnCpG,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAASuE,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAIoG,GAAMtE,KAAKsE,IACXhB,GAAYb,OAAOlF,UAAUgG,YAC7BC,GAAYf,OAAOlF,UAAUkG,YAC7Bc,GAAU9B,OAAOlF,UAAUgH,QAK3BC,GAAoB,WACpBC,GAAoB,UACpBC,GAAiB,UACjBC,GAAuB,UACvBC,GAA0B,OAC1BC,GAAqB,QACrBC,GAAqB,gBAazB,SAASC,GAAcpB,GACtB,IAAIqB,EACA/G,EACAgH,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMtD,EAAUgC,EAAMG,KACrB,MAAM,IAAIzE,MAAO,yCAA2CpB,GAG7DgH,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJ5F,EAAMgH,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJhG,EAAMgH,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,GAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEX/G,EAAMgH,EAAEE,cAAeH,IAEvB/G,EAAMgH,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACXnG,EAAMsG,GAAQnG,KAAMH,EAAK6G,GAAoB,OAC7C7G,EAAMsG,GAAQnG,KAAMH,EAAK4G,GAAoB,KAC7C5G,EAAMsG,GAAQnG,KAAMH,EAAK2G,GAAyB,KAEnD,MACD,QACC,MAAM,IAAIvF,MAAO,mCAAqCsE,EAAME,WAc7D,OAZA5F,EAAMsG,GAAQnG,KAAMH,EAAKuG,GAAmB,SAC5CvG,EAAMsG,GAAQnG,KAAMH,EAAKwG,GAAmB,SACvCd,EAAMS,YACVnG,EAAMsG,GAAQnG,KAAMH,EAAKyG,GAAgB,OACzCzG,EAAMsG,GAAQnG,KAAMH,EAAK0G,GAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpBlG,EAAM0F,EAAMQ,KAAOlG,GAEpBA,EAAQ0F,EAAME,YAAcL,GAAUpF,KAAMuF,EAAME,WACjDL,GAAUpF,KAAMH,GAChBqF,GAAUlF,KAAMH,EAElB,CC5EA,SAASqH,GAAQ3C,GAChB,IACIC,EADA3E,EAAM,GAEV,IAAM2E,EAAI,EAAGA,EAAID,EAAGC,IACnB3E,GAAO,IAER,OAAOA,CACR,CAcA,SAASsH,GAAUzC,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAMwC,GAAQpC,GACdoC,GAAQpC,GAAQJ,CAElB,CC5BA,IAAI0C,GAAe/C,OAAO+C,aACtBC,GAAQC,MACRC,GAAUC,MAAMD,QAYpB,SAASE,GAAYlC,GACpB,IAAI1F,EAAM,CAAA,EAMV,OALAA,EAAI4F,UAAYF,EAAME,UACtB5F,EAAIgG,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DhG,EAAI8E,MAAQY,EAAMZ,MAClB9E,EAAI6H,MAAQnC,EAAMmC,OAAS,GAC3B7H,EAAI8H,QAAUpC,EAAMoC,QACb9H,CACR,CAmBA,SAAS+H,GAAmBC,GAC3B,IAAIC,EACAJ,EACAnC,EACAwC,EACAC,EACAnI,EACAoI,EACAzD,EACA0D,EAEJ,IAAMX,GAASM,GACd,MAAM,IAAI9E,UAAW,8DAAgE8E,EAAS,MAI/F,IAFAhI,EAAM,GACNoI,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GAAKJ,GADLmB,EAAQsC,EAAQrD,IAEf3E,GAAO0F,MACD,CAGN,GAFAuC,OAAgC,IAApBvC,EAAMM,YAClBN,EAAQkC,GAAYlC,IACRE,UACX,MAAM,IAAI1C,UAAW,oEAAqEyB,EAAG,cAAgBe,EAAQ,MAMtH,IAJKA,EAAMoC,UACVM,EAAM1C,EAAMoC,SAEbD,EAAQnC,EAAMmC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMzB,OAAQiC,IAErB,IAAK,IACJ3C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWT,EAAMU,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI/E,MAAO,iBAAmB8G,GAGtC,GAAqB,MAAhBxC,EAAMZ,MAAgB,CAG1B,GAFAY,EAAMZ,MAAQgB,SAAU0C,UAAWJ,GAAO,IAC1CA,GAAO,EACFZ,GAAO9B,EAAMZ,OACjB,MAAM,IAAI5B,UAAW,wCAA0CkF,EAAM,6BAA+B1C,EAAMZ,MAAQ,MAE9GY,EAAMZ,MAAQ,IAClBY,EAAMO,UAAW,EACjBP,EAAMZ,OAASY,EAAMZ,MAEtB,CACD,GAAKmD,GACqB,MAApBvC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWJ,GAAO,IAC9CA,GAAO,EACFZ,GAAO9B,EAAMM,WACjB,MAAM,IAAI9C,UAAW,4CAA8CkF,EAAM,6BAA+B1C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBiC,GAAY,EAEb,CAGF,OADAvC,EAAMG,IAAM2C,UAAWJ,GACd1C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECqC,IACJvC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,GAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMwB,GAAO9B,EAAMG,KAAQ,CAE1B,IADAsC,EAAMrC,SAAUJ,EAAMG,IAAK,KAChB,GAAKsC,EAAM,IACrB,MAAM,IAAI/G,MAAO,kCAAoCsE,EAAMG,KAE5DH,EAAMG,IAAQ2B,GAAOW,GACpB3D,OAAQkB,EAAMG,KACd0B,GAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLvC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,GAAcpB,GAC1B,MACD,QACC,MAAM,IAAItE,MAAO,sBAAwBsE,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIX,OAASQ,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMjB,EAASc,EAAMG,IAAKH,EAAMZ,OAASY,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMZ,QACjBY,EAAMG,IAAMyB,GAAU5B,EAAMG,IAAKH,EAAMZ,MAAOY,EAAMO,WAErDjG,GAAO0F,EAAMG,KAAO,GACpBuC,GAAO,CACP,CAEF,OAAOpI,CACR,CC3LA,IAAI2I,GAAK,6EAYT,SAASC,GAAOC,GACf,IAAInD,EAAQ,CACXoC,QAAae,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDhB,MAASgB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASoD,GAAgBjE,GACxB,IAAIkE,EACAf,EACAa,EACAG,EAKJ,IAHAhB,EAAS,GACTgB,EAAO,EACPH,EAAQF,GAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,GAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ8C,EAAOoB,KAAML,GAEdf,EAAOoB,KAAMR,GAAOC,IACpBG,EAAOL,GAAGQ,UACVN,EAAQF,GAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ8C,EAAOoB,KAAML,GAEPf,CACR,CClDA,SAASzD,GAAUtE,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAASoJ,GAAQxE,GAChB,IAAImD,EACAsB,EACA3E,EAEJ,IAAMJ,GAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAKjG,IAHAmD,EAASuB,GAAU1E,IACnByE,EAAO,IAAI3B,MAAOa,UAAUtD,SACtB,GAAM8C,EACNrD,EAAI,EAAGA,EAAI2E,EAAKpE,OAAQP,IAC7B2E,EAAM3E,GAAM6D,UAAW7D,GAExB,OAAO6E,GAAYC,MAAO,KAAMH,EACjC,CC8BA,SAASI,GAAQ7E,EAAKH,GACrB,IAAIiF,EACAC,EACJ,IAAMrF,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBI,GAC3B,MAAM,IAAIxB,UAAWmG,GAAQ,gFAAiF3E,IAE/G,GAAoB,IAAfG,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAGR,GAAKG,EAAIK,OAASR,ECrDY,iBDsD7B,MAAM,IAAImF,WAAYR,GAAQ,6FAA8FxE,EAAIK,OAASR,IAI1I,IAFAiF,EAAM,GACNC,EAAMlF,EAGY,IAAP,EAAJkF,KACLD,GAAO9E,GAIK,KADb+E,KAAS,IAKT/E,GAAOA,EAER,OAAO8E,CACR,CE/EA,IAAIG,GAAO/H,KAAK+H,KCMhB,SAASC,GAAM5F,GAKd,IAJA,IACI6F,EADAnF,EAAM,GAIFV,EAAI,GAIVU,GAHDmF,EAAI7F,EAAI,MACRA,EAAIrC,EAAOkI,IAEJ,IAAMnF,EAEN,IAAMA,EAGd,OAAOA,CACR,CC8BA,SAASoF,GAAiB9F,GACzB,IAAI+F,EACAhE,EACArB,EACAsF,EACAzF,EACAsC,EACArC,EASJ,GALCuB,EADI/B,EAAI,GAAO,EAAIA,IAAMtC,EAClB,IAEA,IAGHsC,IAAMlD,GAAQkD,IAAMtC,EAIxB,OAAOqE,GAFPiE,EAAMT,GAAQ,IA3EQ,KA4EtB7E,EAAM6E,GAAQ,IA7EW,KAiF1B,GAAKvF,GAAMA,EAIV,OAAO+B,GAFPiE,EAAMT,GAAQ,IAlFQ,KAmFtB7E,EAAM,IAAM6E,GAAQ,IAAKU,KAI1B,GAAW,IAANjG,EAIJ,OAAO+B,GAFPiE,EAAMT,GAAQ,IAzFQ,KA0FtB7E,EAAM6E,GAAQ,IA3FW,KA2G1B,GAPA1C,GANA7C,ECnFD,SAAcA,GACb,OAAOpC,KAAKsE,IAAKlC,EAClB,CDiFKkC,CAAKlC,KAGTO,EAAI5C,EAAOqC,IAMXO,EAAIqF,GAAMrF,GACVsC,EElGD,SAAgB7C,GACf,IAAIU,EACAmF,EACArF,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAANV,EACJ,OAAOU,EAKR,IAHAwD,EA/Bc,IAkCR1D,EAAI,EAAGA,EAlCC,OAmCbqF,EAAQ,EAAJ7F,IACM,GACTA,EAAI6F,EAAI,EACRnF,GAAO,IAtCK,MAuCPwD,IACJA,EAAI1D,KAGLR,EAAI6F,EACJnF,GAAO,OAGG,IAANmF,GAAarF,EAAE0D,EA9CP,KAiCa1D,KAkB3B,OAAOE,CACR,CFkEKwF,CAAOrD,GAGNtC,EAEJyF,EAAMzF,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIqC,EAAE9B,OAAQP,IAC1B,GAAgB,MAAXqC,EAAGrC,GAAc,CACrBuF,EAAQvF,EAAI,EACZ,KACA,CAGFwF,GAAOD,CACP,CAuBD,OArBArF,EAAMH,EAAIsC,EACLmD,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTzF,EAAMA,EAAI6D,UAAWwB,IAGrBrF,EAAMA,EAAI6D,UAAW,GAItByB,EItHD,SAAetF,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,gEAEzB,MACEW,EAAI,IAEL,GAAKD,EPzByB,iBO0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGD6E,GAAQc,EADf9F,EAAIoF,GAAMpF,IACcG,CACzB,CJyFO4F,CADNN,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpCtF,EKzHD,SAAeA,EAAK0F,EAAKtF,GACxB,IAAIP,EACA8F,EACJ,IAAMjG,EAAUM,GACf,MAAM,IAAI3B,UAAWmG,GAAQ,kEAAmExE,IAEjG,IAAMP,EAAsBiG,GAC3B,MAAM,IAAIrH,UAAWmG,GAAQ,gFAAiFkB,IAE/G,GAAK/B,UAAUtD,OAAS,EAAI,CAE3B,IAAMX,EADNiG,EAAIvF,GAEH,MAAM,IAAI/B,UAAWmG,GAAQ,kEAAmEmB,IAEjG,GAAkB,IAAbA,EAAEtF,OACN,MAAM,IAAI2E,WAAY,4DAEzB,MACEW,EAAI,IAEL,GAAKD,ERzByB,iBQ0B7B,MAAM,IAAIV,WAAYR,GAAQ,6FAA8FkB,IAG7H,OADA7F,GAAM6F,EAAM1F,EAAIK,QAAWsF,EAAEtF,SACnB,EACFL,EAGDA,EAAM6E,GAAQc,EADrB9F,EAAIoF,GAAMpF,GAEX,CL4FOgG,CAAM7F,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IA+InBxC,EAAOiE,EAAMtF,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index 2a335b3..0000000 --- a/stats.html +++ /dev/null @@ -1,6177 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From 2896bfce0d19d05398ed8d4cd52044072c32f72e Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 24 Sep 2023 01:45:36 +0000 Subject: [PATCH 064/146] Auto-generated commit --- .editorconfig | 186 - .eslintrc.js | 1 - .gitattributes | 49 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 62 - .github/workflows/cancel.yml | 56 - .github/workflows/close_pull_requests.yml | 44 - .github/workflows/examples.yml | 62 - .github/workflows/npm_downloads.yml | 108 - .github/workflows/productionize.yml | 783 --- .github/workflows/publish.yml | 242 - .github/workflows/test.yml | 97 - .github/workflows/test_bundles.yml | 180 - .github/workflows/test_coverage.yml | 123 - .github/workflows/test_install.yml | 83 - .gitignore | 188 - .npmignore | 227 - .npmrc | 28 - CHANGELOG.md | 5 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 6177 +++++++++++++++++++++ test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 48 files changed, 6196 insertions(+), 4161 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 13e9c39..0000000 --- a/.editorconfig +++ /dev/null @@ -1,186 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 06a9a75..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index a00dbe5..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,56 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - uses: styfle/cancel-workflow-action@0.11.0 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index 576054a..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,44 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 7902a7d..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,62 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout the repository' - uses: actions/checkout@v3 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 0bf9073..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,108 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - uses: actions/upload-artifact@v3 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - uses: distributhor/workflow-webhook@v3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 91f2b93..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,783 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - uses: actions/checkout@v3 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - uses: actions/checkout@v3 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - uses: act10ns/slack@v2 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - uses: actions/checkout@v3 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - uses: actions/setup-node@v3 - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 0eb7ae0ac6480a049307078a654974b51f8ef68f Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 24 Sep 2023 01:59:00 +0000 Subject: [PATCH 065/146] Update README.md for Deno bundle v0.1.0 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 36e6ae1..2c651cb 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ limitations under the License. ## Usage ```javascript -import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@v0.1.0-deno/mod.js'; ``` #### toBinaryStringf( x ) @@ -111,7 +111,7 @@ import randu from 'https://cdn.jsdelivr.net/gh/stdlib-js/random-base-randu@deno/ import round from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-round@deno/mod.js'; import pow from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-pow@deno/mod.js'; import float64ToFloat32 from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float64-base-to-float32@deno/mod.js'; -import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@v0.1.0-deno/mod.js'; var frac; var sign; From 3bd03ef3a1beea2bd7f8d21de15b85c8d213050a Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 24 Sep 2023 01:59:01 +0000 Subject: [PATCH 066/146] Auto-generated commit --- README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2c651cb..d169740 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,11 @@ limitations under the License. ## Usage +```javascript +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; +``` +The previous example will load the latest bundled code from the deno branch. Alternatively, you may load a specific version by loading the file from one of the [tagged bundles](https://github.com/stdlib-js/number-float32-base-to-binary-string/tags). For example, + ```javascript import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@v0.1.0-deno/mod.js'; ``` @@ -111,7 +116,7 @@ import randu from 'https://cdn.jsdelivr.net/gh/stdlib-js/random-base-randu@deno/ import round from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-round@deno/mod.js'; import pow from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-pow@deno/mod.js'; import float64ToFloat32 from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float64-base-to-float32@deno/mod.js'; -import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@v0.1.0-deno/mod.js'; +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; var frac; var sign; From 1c7d3cb6488ce5a6971283a349b75c107d214b9d Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 1 Oct 2023 11:11:40 +0000 Subject: [PATCH 067/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 0ad6c05..0b2a9ad 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.1.0", "@stdlib/string-left-pad": "^0.1.0", "@stdlib/string-repeat": "^0.1.0", - "@stdlib/string-right-pad": "^0.1.0" + "@stdlib/string-right-pad": "^0.1.0", + "@stdlib/error-tools-fmtprodmsg": "^0.1.0" }, "devDependencies": { "@stdlib/assert-is-string": "^0.1.0", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From 7a7aee59a72f2a663cbe60308995041e7d3b8e30 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 2 Oct 2023 17:39:23 +0000 Subject: [PATCH 068/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 6177 ---------------------------------------------------- 4 files changed, 6260 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 3b4f336..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 898b394..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2023 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var s=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===s}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,v="function"==typeof Uint32Array;var h="function"==typeof Uint32Array?Uint32Array:null;var d,m="function"==typeof Uint32Array?Uint32Array:void 0;d=function(){var r,e,t;if("function"!=typeof h)return!1;try{e=new h(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(v&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?m:function(){throw new Error("not implemented")};var y=d,b=new g(1);new y(b.buffer)[0]=2139095040;var w=b[0],E=new g(1);new y(E.buffer)[0]=4286578688;var _=E[0];var S=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var j=Object.defineProperty;function O(r){return"number"==typeof r}function A(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=$.call(t,Y,"$1e"),t=$.call(t,W,"e"),t=$.call(t,Z,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=$.call(t,U,"e+0$1"),t=$.call(t,C,"e-0$1"),r.alternate&&(t=$.call(t,G,"$1."),t=$.call(t,M,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===R.call(r.specifier)?R.call(t):P.call(t)}function X(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=B(a)?String(n.arg):q(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=L(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=I(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=z(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var K=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Q(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function rr(r){var e,t,n,i;for(t=[],i=0,n=K.exec(r);n;)(e=r.slice(i,K.lastIndex-n[0].length)).length&&t.push(e),t.push(Q(n)),i=K.lastIndex,n=K.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function er(r){return"string"==typeof r}function tr(r){var e,t,n;if(!er(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=rr(r),(t=new Array(arguments.length))[0]=e,n=1;nmr&&S(e=r)===e;var e}function br(r){return fr(r)&&yr(r)}function wr(r){return hr(r)&&yr(r.valueOf())}function Er(r){return br(r)||wr(r)}function _r(r){return br(r)&&r>=0}function Sr(r){return wr(r)&&r.valueOf()>=0}function Tr(r){return _r(r)||Sr(r)}function jr(r){return"string"==typeof r}lr(Er,"isPrimitive",br),lr(Er,"isObject",wr),lr(Tr,"isPrimitive",_r),lr(Tr,"isObject",Sr);var Or=String.prototype.valueOf;var Ar=e();function Ir(r){return"object"==typeof r&&(r instanceof String||(Ar?function(r){try{return Or.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function Vr(r){return jr(r)||Ir(r)}lr(Vr,"isPrimitive",jr),lr(Vr,"isObject",Ir);var Fr=void 0!==String.prototype.repeat;var xr=String.prototype.repeat;var kr=Fr?function(r,e){return xr.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Nr=Math.ceil;function Pr(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Nr(n),r+kr(t,n))}var Rr=pr.NEGATIVE_INFINITY;function $r(r){return rRr&&S(e=r)===e;var e}function Ur(r){return fr(r)&&$r(r)}function Cr(r){return hr(r)&&$r(r.valueOf())}function Gr(r){return Ur(r)||Cr(r)}function Mr(r){return Ur(r)&&r>=0}function Zr(r){return Cr(r)&&r.valueOf()>=0}function Wr(r){return Mr(r)||Zr(r)}lr(Gr,"isPrimitive",Ur),lr(Gr,"isObject",Cr),lr(Wr,"isPrimitive",Mr),lr(Wr,"isObject",Zr);var Yr=Math.ceil;function Lr(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Yr(n),kr(t,n)+r)}var Xr=pr.NEGATIVE_INFINITY;function zr(r){return rXr&&S(e=r)===e;var e}function qr(r){return fr(r)&&zr(r)}function Br(r){return hr(r)&&zr(r.valueOf())}function Dr(r){return qr(r)||Br(r)}function Hr(r){return qr(r)&&r>=0}function Jr(r){return Br(r)&&r.valueOf()>=0}function Kr(r){return Hr(r)||Jr(r)}function Qr(r,e){if(!jr(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!Hr(e))throw new TypeError(tr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return kr(r,e)}function re(r){for(var e,t="";r>0;)t=(e=r/2)===(r=S(e))?"0"+t:"1"+t;return t}lr(Dr,"isPrimitive",qr),lr(Dr,"isObject",Br),lr(Kr,"isPrimitive",Hr),lr(Kr,"isObject",Jr);function ee(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===_?"1":"0",r===w||r===_)return t+(i=Qr("1",8))+(n=Qr("0",23));if(r!=r)return t+(i=Qr("1",8))+(n="1"+Qr("0",22));if(0===r)return t+(i=Qr("0",8))+(n=Qr("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=S(r)),a=re(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!jr(n=t))throw new TypeError(tr("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>9007199254740991)throw new RangeError(tr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return Lr(r,e,n)}(i=re(i+127),8,"0"),n=function(r,e,t){var n;if(!jr(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!_r(e))throw new TypeError(tr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!jr(n=t))throw new TypeError(tr("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>9007199254740991)throw new RangeError(tr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return Pr(r,e,n)}(n,23,"0").substring(0,23),t+i+n}export{ee as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 0132f39..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/utils-native-class/node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/symbol-ctor/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/main.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/main.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/main.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/math-base-assert-is-integer/lib/main.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/string-base-repeat/lib/has_builtin.js","../node_modules/@stdlib/string-base-repeat/lib/builtin.js","../node_modules/@stdlib/string-base-repeat/lib/index.js","../node_modules/@stdlib/string-base-repeat/lib/main.js","../node_modules/@stdlib/string-base-repeat/lib/polyfill.js","../node_modules/@stdlib/string-base-right-pad/node_modules/@stdlib/math-base-special-ceil/lib/main.js","../node_modules/@stdlib/string-base-right-pad/lib/main.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/math-base-assert-is-integer/lib/main.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/string-base-left-pad/node_modules/@stdlib/math-base-special-ceil/lib/main.js","../node_modules/@stdlib/string-base-left-pad/lib/main.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/math-base-assert-is-integer/lib/main.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/string-repeat/lib/main.js","../lib/div2.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/main.js","../node_modules/@stdlib/string-right-pad/lib/main.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","isString","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","lpad","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","p","RangeError"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CAGnB,CAFC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAId,CAFC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAAS8D,EAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAI8D,EAAMjC,KAAKiC,IACXlB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Be,EAAUlB,OAAOzD,UAAU2E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcrB,GACtB,IAAIsB,EACAzE,EACA0E,EAAIC,WAAYxB,EAAMG,KAC1B,IAAME,SAAUkB,GAAM,CACrB,IAAM1C,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7D0E,EAAIvB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAM0E,EAAEE,cAAezB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAM0E,EAAEG,QAAS1B,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCM,EAAKW,GAAM,OACfD,EAAStB,EAAMM,WACD,IACbgB,GAAU,GAEXzE,EAAM0E,EAAEE,cAAeH,IAEvBzE,EAAM0E,EAAEI,YAAa3B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAMgE,EAAQ7D,KAAMH,EAAKuE,EAAoB,OAC7CvE,EAAMgE,EAAQ7D,KAAMH,EAAKsE,EAAoB,KAC7CtE,EAAMgE,EAAQ7D,KAAMH,EAAKqE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAInD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAMgE,EAAQ7D,KAAMH,EAAKiE,EAAmB,SAC5CjE,EAAMgE,EAAQ7D,KAAMH,EAAKkE,EAAmB,SACvCf,EAAMS,YACV5D,EAAMgE,EAAQ7D,KAAMH,EAAKmE,EAAgB,OACzCnE,EAAMgE,EAAQ7D,KAAMH,EAAKoE,EAAsB,SAE3CM,GAAK,GAAKvB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS+E,EAAQ7C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASgF,EAAU3C,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAM0C,EAAQtC,GACdsC,EAAQtC,GAAQJ,CAElB,CC5BA,IAAI4C,EAAenC,OAAOmC,aACtBC,EAAQC,MACRC,EAAUC,MAAMD,QAYpB,SAASE,EAAYnC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIuF,MAAQpC,EAAMoC,OAAS,GAC3BvF,EAAIwF,QAAUrC,EAAMqC,QACbxF,CACR,CAmBA,SAASyF,EAAmBC,GAC3B,IAAIC,EACAJ,EACApC,EACAyC,EACAC,EACA7F,EACA8F,EACA3D,EACA4D,EAEJ,IAAMX,EAASM,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFA1F,EAAM,GACN8F,EAAM,EACA3D,EAAI,EAAGA,EAAIuD,EAAOhD,OAAQP,IAE/B,GAAK2B,EADLX,EAAQuC,EAAQvD,IAEfnC,GAAOmD,MACD,CAGN,GAFAwC,OAAgC,IAApBxC,EAAMM,YAClBN,EAAQmC,EAAYnC,IACRE,UACX,MAAM,IAAI2C,UAAW,oEAAqE7D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMqC,UACVM,EAAM3C,EAAMqC,SAEbD,EAAQpC,EAAMoC,MACRQ,EAAI,EAAGA,EAAIR,EAAM7C,OAAQqD,IAE9B,OADAH,EAAOL,EAAM1B,OAAQkC,IAErB,IAAK,IACJ5C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM8C,UAAW,EACjB,MACD,IAAK,IACJ9C,EAAM8C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ/C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmB0E,GAGtC,GAAqB,MAAhBzC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAU4C,UAAWL,GAAO,IAC1CA,GAAO,EACFZ,EAAO/B,EAAMb,OACjB,MAAM,IAAI0D,UAAW,wCAA0CF,EAAM,6BAA+B3C,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKqD,GACqB,MAApBxC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU4C,UAAWL,GAAO,IAC9CA,GAAO,EACFZ,EAAO/B,EAAMM,WACjB,MAAM,IAAIuC,UAAW,4CAA8CF,EAAM,6BAA+B3C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBkC,GAAY,EAEb,CAGF,OADAxC,EAAMG,IAAM6C,UAAWL,GACd3C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECsC,IACJxC,EAAM8C,UAAW,GAElB9C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAMiD,SAAW,EAAgBjD,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMyB,EAAO/B,EAAMG,KAAQ,CAE1B,IADAuC,EAAMtC,SAAUJ,EAAMG,IAAK,KAChB,GAAKuC,EAAM,IACrB,MAAM,IAAI3E,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ4B,EAAOW,GACpB/C,OAAQK,EAAMG,KACd2B,EAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLxC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMkB,EAAcrB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAMiD,UAAY,GAAKjD,EAAMG,IAAIZ,OAASS,EAAMiD,WACpDjD,EAAMG,IAAMH,EAAMG,IAAI+C,UAAW,EAAGlD,EAAMiD,WAEtCjD,EAAM8C,SACV9C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,IAAM0B,EAAU7B,EAAMG,IAAKH,EAAMb,MAAOa,EAAMO,WAErD1D,GAAOmD,EAAMG,KAAO,GACpBwC,GAAO,CACP,CAEF,OAAO9F,CACR,CC3LA,IAAIsG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAIrD,EAAQ,CACXqC,QAAagB,EAAO,GAAQjD,SAAUiD,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChBlE,MAASkE,EAAO,GAChB/C,UAAa+C,EAAO,GACpBnD,UAAamD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCrD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASsD,GAAgBpE,GACxB,IAAIqE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMvE,GACTmE,IACPE,EAAUrE,EAAIwE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI9D,SACxCA,QACZgD,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMvE,GAMlB,OAJAqE,EAAUrE,EAAIwE,MAAOF,IACRjE,QACZgD,EAAOqB,KAAML,GAEPhB,CACR,CClDA,SAAS5B,GAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAAS+G,GAAQ3E,GAChB,IAAIqD,EACAuB,EACA9E,EAEJ,IAAM2B,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAKjG,IAHAqD,EAASwB,GAAU7E,IACnB4E,EAAO,IAAI5B,MAAOc,UAAUzD,SACtB,GAAMgD,EACNvD,EAAI,EAAGA,EAAI8E,EAAKvE,OAAQP,IAC7B8E,EAAM9E,GAAMgE,UAAWhE,GAExB,OAAOgF,EAAYC,MAAO,KAAMH,EACjC,CChCA,IAAII,GAAiBjI,OAAOC,UACxBF,GAAQkI,GAAe/H,SACvBgI,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA/F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGK2H,GACa9G,EDqBlB,SAAyB+G,EAAKC,EAAMC,GACnC,IAAI7I,EACA8I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB7I,GAAMgB,KAAM6H,GAC3D,MAAM,IAAIhC,UAAWgB,GAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B/I,GAAMgB,KAAM+H,GACzE,MAAM,IAAIlC,UAAWgB,GAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAavH,KAAM6H,EAAKC,IACxBL,GAAazH,KAAM6H,EAAKC,IAGxB5I,EAAY2I,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAWjI,MAGzB+H,EAAIM,UAAYjJ,GAEhB2I,EAAKC,GAASC,EAAWjI,OAG3BmI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAInH,MAAO,wHASlB,OANKkH,GAAUd,IACdA,GAAanH,KAAM6H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAarH,KAAM6H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAMhI,GAC7C8B,GAAgBiG,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZ3I,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDcUyI,CAAM5I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCoBA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICnBA,IAAIE,GAAexI,GAAOyI,kBClB1B,SAASC,GAAWlJ,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWuH,EDDXnJ,KCEamJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAET,CCLA,SAASkJ,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAAMqJ,UAEf,CCGA,SAASH,GAAWlJ,GACnB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCXA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,GAAS,CAEX,CCLA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,EAAMqJ,WAAa,CAErB,CCQA,SAASC,GAAsBtJ,GAC9B,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCtBA,SAAS6D,GAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCmCA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICAAC,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICpDA,IAAIO,GAAUxG,OAAOzD,UAAUiK,QCQ/B,IAAIvK,GAAMa,IAmBV,SAASkE,GAAU7D,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAqJ,GAAQnJ,KAAMF,IACP,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDaUyI,CAAM5I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAAS6D,GAAU7D,GAClB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCsBA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,IChBA,IC7BInI,QAA4C,IAA5BkC,OAAOzD,UAAUmK,OCArC,IAAIA,GAAS1G,OAAOzD,UAAUmK,OCmC9B,IAAApG,GATKqG,GCFL,SAAiBpH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIwH,EACAC,EACJ,GAAoB,IAAftH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAwH,EAAM,GACNC,EAAMzH,EAGY,IAAP,EAAJyH,KACLD,GAAOrH,GAIK,IADbsH,KAAS,IAKTtH,GAAOA,EAER,OAAOqH,CACR,EC1DIE,GAAO9H,KAAK8H,KCIhB,SAASC,GAAMxH,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHG,EAAMmH,GAAQ/G,EAAKP,GAC3B,CCDA,IAAI+G,GAAexI,GAAOyI,kBClB1B,SAASC,GAAWlJ,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWuH,EDDXnJ,KCEamJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAET,CCLA,SAASkJ,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAAMqJ,UAEf,CCGA,SAASH,GAAWlJ,GACnB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCXA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,GAAS,CAEX,CCLA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,EAAMqJ,WAAa,CAErB,CCQA,SAASC,GAAsBtJ,GAC9B,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCeA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICAAC,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICtBA,ICPIa,GAAO9H,KAAK8H,KCIhB,SAASG,GAAM1H,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHsH,GAAQ/G,EAAKP,GAAMG,EAC3B,CCDA,IAAI4G,GAAexI,GAAOyI,kBClB1B,SAASC,GAAWlJ,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWuH,EDDXnJ,KCEamJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAET,CCLA,SAASkJ,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAAMqJ,UAEf,CCGA,SAASH,GAAWlJ,GACnB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCXA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,GAAS,CAEX,CCLA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,EAAMqJ,WAAa,CAErB,CCQA,SAASC,GAAsBtJ,GAC9B,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCJA,SAASuJ,GAAQnH,EAAKH,GACrB,IAAM4B,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBrH,GAC3B,MAAM,IAAI8D,UAAWgB,GAAQ,gFAAiF9E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAAS8H,GAAMZ,GAKd,IAJA,IACIa,EADA5H,EAAM,GAIF+G,EAAI,GAIV/G,GAHD4H,EAAIb,EAAI,MACRA,EAAIvH,EAAOoI,IAEJ,IAAM5H,EAEN,IAAMA,EAGd,OAAOA,CACR,CCMA2G,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICAAC,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICsBA,SAASmB,GAAiBd,GACzB,IAAIe,EACAxG,EACAtB,EACA+H,EACAlI,EACAwC,EACAvC,EASJ,GALCwB,EADIyF,EAAI,GAAO,EAAIA,IAAMxH,EAClB,IAEA,IAGHwH,IAAMrI,GAAQqI,IAAMxH,EAIxB,OAAO+B,GAFPyG,EAAMZ,GAAQ,IA3EQ,KA4EtBnH,EAAMmH,GAAQ,IA7EW,KAiF1B,GAAKJ,GAAMA,EAIV,OAAOzF,GAFPyG,EAAMZ,GAAQ,IAlFQ,KAmFtBnH,EAAM,IAAMmH,GAAQ,IAAKa,KAI1B,GAAW,IAANjB,EAIJ,OAAOzF,GAFPyG,EAAMZ,GAAQ,IAzFQ,KA0FtBnH,EAAMmH,GAAQ,IA3FW,KA2G1B,GAPA9E,GANA0E,ECnFD,SAAcA,GACb,OAAOtH,KAAKiC,IAAKqF,EAClB,CDiFKrF,CAAKqF,KAGTlH,EAAIL,EAAOuH,IAMXlH,EAAI8H,GAAM9H,GACVwC,EElGD,SAAgB0E,GACf,IAAI/G,EACA4H,EACA9H,EACA4D,EAGJ,GADA1D,EAAM,GACK,IAAN+G,EACJ,OAAO/G,EAKR,IAHA0D,EA/Bc,IAkCR5D,EAAI,EAAGA,EAlCC,OAmCb8H,EAAQ,EAAJb,IACM,GACTA,EAAIa,EAAI,EACR5H,GAAO,IAtCK,MAuCP0D,IACJA,EAAI5D,KAGLiH,EAAIa,EACJ5H,GAAO,OAGG,IAAN4H,GAAa9H,EAAE4D,EA9CP,KAiCa5D,KAkB3B,OAAOE,CACR,CFkEKiI,CAAO5F,GAGNxC,EAEJkI,EAAMlI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIuC,EAAEhC,OAAQP,IAC1B,GAAgB,MAAXuC,EAAGvC,GAAc,CACrBgI,EAAQhI,EAAI,EACZ,KACA,CAGFiI,GAAOD,CACP,CAuBD,OArBA9H,EAAMH,EAAIwC,EACL0F,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTlI,EAAMA,EAAIgE,UAAW8D,IAGrB9H,EAAMA,EAAIgE,UAAW,GAItB+D,EIvHD,SAAe/H,EAAKyH,EAAKrH,GACxB,IAAI+H,EACJ,IAAM1G,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBO,GAC3B,MAAM,IAAI9D,UAAWgB,GAAQ,gFAAiF8C,IAE/G,GAAK3D,UAAUzD,OAAS,EAAI,CAE3B,IAAMoB,GADN0G,EAAI/H,GAEH,MAAM,IAAIuD,UAAWgB,GAAQ,kEAAmEwD,IAEjG,GAAkB,IAAbA,EAAE9H,OACN,MAAM,IAAI+H,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKV,EpBvByB,iBoBwB7B,MAAM,IAAIW,WAAYzD,GAAQ,6FAA8F8C,IAE7H,OAAO1G,GAAMf,EAAKyH,EAAKU,EACxB,CJgGOT,CADNK,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpC/H,EK1HD,SAAeA,EAAKyH,EAAKrH,GACxB,IAAI+H,EACJ,IAAM1G,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBO,GAC3B,MAAM,IAAI9D,UAAWgB,GAAQ,gFAAiF8C,IAE/G,GAAK3D,UAAUzD,OAAS,EAAI,CAE3B,IAAMoB,GADN0G,EAAI/H,GAEH,MAAM,IAAIuD,UAAWgB,GAAQ,kEAAmEwD,IAEjG,GAAkB,IAAbA,EAAE9H,OACN,MAAM,IAAI+H,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKV,ExCvByB,iBwCwB7B,MAAM,IAAIW,WAAYzD,GAAQ,6FAA8F8C,IAE7H,OAAO1G,GAAMf,EAAKyH,EAAKU,EACxB,CLmGOX,CAAMxH,EA5Ic,GA4Ia,KAAMgE,UAAW,EA5I9B,IA+InB1C,EAAOyG,EAAM/H,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index dcf09dd..0000000 --- a/stats.html +++ /dev/null @@ -1,6177 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From 393cadc8f843fdda0c955d1ae51cd687a2bce02c Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 2 Oct 2023 17:42:44 +0000 Subject: [PATCH 069/146] Auto-generated commit --- .editorconfig | 186 - .eslintrc.js | 1 - .gitattributes | 49 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 797 --- .github/workflows/publish.yml | 247 - .github/workflows/test.yml | 100 - .github/workflows/test_bundles.yml | 189 - .github/workflows/test_coverage.yml | 128 - .github/workflows/test_install.yml | 86 - .gitignore | 188 - .npmignore | 227 - .npmrc | 28 - CHANGELOG.md | 5 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 6177 +++++++++++++++++++++ test/dist/test.js | 162 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 50 files changed, 6196 insertions(+), 4382 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 13e9c39..0000000 --- a/.editorconfig +++ /dev/null @@ -1,186 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index 23bc2d3..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2023-10-01T03:35:32.685Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index ab56cca..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index 3acd3a9..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA corresponding to v0.11.0 - uses: styfle/cancel-workflow-action@b173b6ec0100793626c2d9e6b90435061f4fc3e5 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index c1c45e7..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 6a6c18e..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA corresponding to v3.1.3 - uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA corresponding to v3.0.3: - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 265afda..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,797 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA corresponding to v2.0.0 - uses: act10ns/slack@ed1309ab9862e57e9e583e51c7889486b9a00b0f - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index 7bfe15c..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../../dist' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './../..xtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './../..xtures/julia/bits_-1e3_1e3.json' ); -var large = require( './../..xtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './../..xtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 0de8de36496d13a853428ed4607e9e2201525296 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 5 Oct 2023 15:01:26 +0000 Subject: [PATCH 070/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 543e1b4..e6d396b 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.1.0", "@stdlib/string-left-pad": "^0.1.0", "@stdlib/string-repeat": "^0.1.0", - "@stdlib/string-right-pad": "^0.1.0" + "@stdlib/string-right-pad": "^0.1.0", + "@stdlib/error-tools-fmtprodmsg": "^0.1.1" }, "devDependencies": { "@stdlib/assert-is-string": "^0.1.1", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From bf5cd30d1309b3e10566d8496c9a6ae171258331 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Fri, 6 Oct 2023 18:51:49 +0000 Subject: [PATCH 071/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 6177 ---------------------------------------------------- 4 files changed, 6260 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 3b4f336..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 87e4ef5..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2023 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var l=Number.POSITIVE_INFINITY,s="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof s)return!1;try{e=new s([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===l}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,h="function"==typeof Uint32Array;var d="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof d)return!1;try{e=new d(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(h&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var A=Object.defineProperty;function V(r){return"number"==typeof r}function j(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=$.call(t,L,"$1e"),t=$.call(t,W,"e"),t=$.call(t,Z,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=$.call(t,U,"e+0$1"),t=$.call(t,C,"e-0$1"),r.alternate&&(t=$.call(t,G,"$1."),t=$.call(t,M,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===R.call(r.specifier)?R.call(t):N.call(t)}function Y(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=B(a)?String(n.arg):q(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=X(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=x(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=z(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var K=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Q(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function rr(r){var e,t,n,i;for(t=[],i=0,n=K.exec(r);n;)(e=r.slice(i,K.lastIndex-n[0].length)).length&&t.push(e),t.push(Q(n)),i=K.lastIndex,n=K.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function er(r){return"string"==typeof r}function tr(r){var e,t,n;if(!er(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=rr(r),(t=new Array(arguments.length))[0]=e,n=1;nyr&&_(e=r)===e;var e}function wr(r){return fr(r)&&mr(r)}function br(r){return dr(r)&&mr(r.valueOf())}function Er(r){return wr(r)||br(r)}function Sr(r){return wr(r)&&r>=0}function _r(r){return br(r)&&r.valueOf()>=0}function Tr(r){return Sr(r)||_r(r)}function Ar(r){return"string"==typeof r}sr(Er,"isPrimitive",wr),sr(Er,"isObject",br),sr(Tr,"isPrimitive",Sr),sr(Tr,"isObject",_r);var Vr=String.prototype.valueOf;var jr=e();function xr(r){return"object"==typeof r&&(r instanceof String||(jr?function(r){try{return Vr.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function Fr(r){return Ar(r)||xr(r)}sr(Fr,"isPrimitive",Ar),sr(Fr,"isObject",xr);var kr=void 0!==String.prototype.repeat;var Or=String.prototype.repeat;var Ir=kr?function(r,e){return Or.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Pr=Math.ceil;function Nr(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Pr(n),r+Ir(t,n))}var Rr=Math.ceil;function $r(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Rr(n),Ir(t,n)+r)}function Ur(r,e){if(!Ar(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!Sr(e))throw new TypeError(tr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return Ir(r,e)}function Cr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}function Gr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=Ur("1",8))+(n=Ur("0",23));if(r!=r)return t+(i=Ur("1",8))+(n="1"+Ur("0",22));if(0===r)return t+(i=Ur("0",8))+(n=Ur("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=Cr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Ar(n=t))throw new TypeError(tr("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>9007199254740991)throw new RangeError(tr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return $r(r,e,n)}(i=Cr(i+127),8,"0"),n=function(r,e,t){var n;if(!Ar(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!Sr(e))throw new TypeError(tr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Ar(n=t))throw new TypeError(tr("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>9007199254740991)throw new RangeError(tr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return Nr(r,e,n)}(n,23,"0").substring(0,23),t+i+n}export{Gr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index d168bec..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/symbol-ctor/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/main.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/main.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/main.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/string-base-repeat/lib/has_builtin.js","../node_modules/@stdlib/string-base-repeat/lib/builtin.js","../node_modules/@stdlib/string-base-repeat/lib/index.js","../node_modules/@stdlib/string-base-repeat/lib/main.js","../node_modules/@stdlib/string-base-repeat/lib/polyfill.js","../node_modules/@stdlib/string-base-right-pad/node_modules/@stdlib/math-base-special-ceil/lib/main.js","../node_modules/@stdlib/string-base-right-pad/lib/main.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/string-base-left-pad/node_modules/@stdlib/math-base-special-ceil/lib/main.js","../node_modules/@stdlib/string-base-left-pad/lib/main.js","../node_modules/@stdlib/string-repeat/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/main.js","../node_modules/@stdlib/string-right-pad/lib/main.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","isString","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","lpad","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","p","RangeError"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CAGnB,CAFC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAId,CAFC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAAS8D,EAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAI8D,EAAMjC,KAAKiC,IACXlB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Be,EAAUlB,OAAOzD,UAAU2E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcrB,GACtB,IAAIsB,EACAzE,EACA0E,EAAIC,WAAYxB,EAAMG,KAC1B,IAAME,SAAUkB,GAAM,CACrB,IAAM1C,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7D0E,EAAIvB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAM0E,EAAEE,cAAezB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAM0E,EAAEG,QAAS1B,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCM,EAAKW,GAAM,OACfD,EAAStB,EAAMM,WACD,IACbgB,GAAU,GAEXzE,EAAM0E,EAAEE,cAAeH,IAEvBzE,EAAM0E,EAAEI,YAAa3B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAMgE,EAAQ7D,KAAMH,EAAKuE,EAAoB,OAC7CvE,EAAMgE,EAAQ7D,KAAMH,EAAKsE,EAAoB,KAC7CtE,EAAMgE,EAAQ7D,KAAMH,EAAKqE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAInD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAMgE,EAAQ7D,KAAMH,EAAKiE,EAAmB,SAC5CjE,EAAMgE,EAAQ7D,KAAMH,EAAKkE,EAAmB,SACvCf,EAAMS,YACV5D,EAAMgE,EAAQ7D,KAAMH,EAAKmE,EAAgB,OACzCnE,EAAMgE,EAAQ7D,KAAMH,EAAKoE,EAAsB,SAE3CM,GAAK,GAAKvB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS+E,EAAQ7C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASgF,EAAU3C,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAM0C,EAAQtC,GACdsC,EAAQtC,GAAQJ,CAElB,CC5BA,IAAI4C,EAAenC,OAAOmC,aACtBC,EAAQC,MACRC,EAAUC,MAAMD,QAYpB,SAASE,EAAYnC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIuF,MAAQpC,EAAMoC,OAAS,GAC3BvF,EAAIwF,QAAUrC,EAAMqC,QACbxF,CACR,CAmBA,SAASyF,EAAmBC,GAC3B,IAAIC,EACAJ,EACApC,EACAyC,EACAC,EACA7F,EACA8F,EACA3D,EACA4D,EAEJ,IAAMX,EAASM,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFA1F,EAAM,GACN8F,EAAM,EACA3D,EAAI,EAAGA,EAAIuD,EAAOhD,OAAQP,IAE/B,GAAK2B,EADLX,EAAQuC,EAAQvD,IAEfnC,GAAOmD,MACD,CAGN,GAFAwC,OAAgC,IAApBxC,EAAMM,YAClBN,EAAQmC,EAAYnC,IACRE,UACX,MAAM,IAAI2C,UAAW,oEAAqE7D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMqC,UACVM,EAAM3C,EAAMqC,SAEbD,EAAQpC,EAAMoC,MACRQ,EAAI,EAAGA,EAAIR,EAAM7C,OAAQqD,IAE9B,OADAH,EAAOL,EAAM1B,OAAQkC,IAErB,IAAK,IACJ5C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM8C,UAAW,EACjB,MACD,IAAK,IACJ9C,EAAM8C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ/C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmB0E,GAGtC,GAAqB,MAAhBzC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAU4C,UAAWL,GAAO,IAC1CA,GAAO,EACFZ,EAAO/B,EAAMb,OACjB,MAAM,IAAI0D,UAAW,wCAA0CF,EAAM,6BAA+B3C,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKqD,GACqB,MAApBxC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU4C,UAAWL,GAAO,IAC9CA,GAAO,EACFZ,EAAO/B,EAAMM,WACjB,MAAM,IAAIuC,UAAW,4CAA8CF,EAAM,6BAA+B3C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBkC,GAAY,EAEb,CAGF,OADAxC,EAAMG,IAAM6C,UAAWL,GACd3C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECsC,IACJxC,EAAM8C,UAAW,GAElB9C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAMiD,SAAW,EAAgBjD,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMyB,EAAO/B,EAAMG,KAAQ,CAE1B,IADAuC,EAAMtC,SAAUJ,EAAMG,IAAK,KAChB,GAAKuC,EAAM,IACrB,MAAM,IAAI3E,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ4B,EAAOW,GACpB/C,OAAQK,EAAMG,KACd2B,EAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLxC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMkB,EAAcrB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAMiD,UAAY,GAAKjD,EAAMG,IAAIZ,OAASS,EAAMiD,WACpDjD,EAAMG,IAAMH,EAAMG,IAAI+C,UAAW,EAAGlD,EAAMiD,WAEtCjD,EAAM8C,SACV9C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,IAAM0B,EAAU7B,EAAMG,IAAKH,EAAMb,MAAOa,EAAMO,WAErD1D,GAAOmD,EAAMG,KAAO,GACpBwC,GAAO,CACP,CAEF,OAAO9F,CACR,CC3LA,IAAIsG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAIrD,EAAQ,CACXqC,QAAagB,EAAO,GAAQjD,SAAUiD,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChBlE,MAASkE,EAAO,GAChB/C,UAAa+C,EAAO,GACpBnD,UAAamD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCrD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASsD,GAAgBpE,GACxB,IAAIqE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMvE,GACTmE,IACPE,EAAUrE,EAAIwE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI9D,SACxCA,QACZgD,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMvE,GAMlB,OAJAqE,EAAUrE,EAAIwE,MAAOF,IACRjE,QACZgD,EAAOqB,KAAML,GAEPhB,CACR,CClDA,SAAS5B,GAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAAS+G,GAAQ3E,GAChB,IAAIqD,EACAuB,EACA9E,EAEJ,IAAM2B,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAKjG,IAHAqD,EAASwB,GAAU7E,IACnB4E,EAAO,IAAI5B,MAAOc,UAAUzD,SACtB,GAAMgD,EACNvD,EAAI,EAAGA,EAAI8E,EAAKvE,OAAQP,IAC7B8E,EAAM9E,GAAMgE,UAAWhE,GAExB,OAAOgF,EAAYC,MAAO,KAAMH,EACjC,CChCA,IAAII,GAAiBjI,OAAOC,UACxBF,GAAQkI,GAAe/H,SACvBgI,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA/F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGK2H,GACa9G,EDqBlB,SAAyB+G,EAAKC,EAAMC,GACnC,IAAI7I,EACA8I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB7I,GAAMgB,KAAM6H,GAC3D,MAAM,IAAIhC,UAAWgB,GAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B/I,GAAMgB,KAAM+H,GACzE,MAAM,IAAIlC,UAAWgB,GAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAavH,KAAM6H,EAAKC,IACxBL,GAAazH,KAAM6H,EAAKC,IAGxB5I,EAAY2I,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAWjI,MAGzB+H,EAAIM,UAAYjJ,GAEhB2I,EAAKC,GAASC,EAAWjI,OAG3BmI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAInH,MAAO,wHASlB,OANKkH,GAAUd,IACdA,GAAanH,KAAM6H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAarH,KAAM6H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAMhI,GAC7C8B,GAAgBiG,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZ3I,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDcUyI,CAAM5I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCoBA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICnBA,IAAIE,GAAexI,GAAOyI,kBClB1B,SAASC,GAAWlJ,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWuH,EDDXnJ,KCEamJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAET,CCLA,SAASkJ,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAAMqJ,UAEf,CCGA,SAASH,GAAWlJ,GACnB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCXA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,GAAS,CAEX,CCLA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,EAAMqJ,WAAa,CAErB,CCQA,SAASC,GAAsBtJ,GAC9B,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCtBA,SAAS6D,GAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCmCA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICAAC,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICpDA,IAAIO,GAAUxG,OAAOzD,UAAUiK,QCQ/B,IAAIvK,GAAMa,IAmBV,SAASkE,GAAU7D,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAqJ,GAAQnJ,KAAMF,IACP,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDaUyI,CAAM5I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAAS6D,GAAU7D,GAClB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCsBA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,IChBA,IC7BInI,QAA4C,IAA5BkC,OAAOzD,UAAUmK,OCArC,IAAIA,GAAS1G,OAAOzD,UAAUmK,OCmC9B,IAAApG,GATKqG,GCFL,SAAiBpH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIwH,EACAC,EACJ,GAAoB,IAAftH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAwH,EAAM,GACNC,EAAMzH,EAGY,IAAP,EAAJyH,KACLD,GAAOrH,GAIK,IADbsH,KAAS,IAKTtH,GAAOA,EAER,OAAOqH,CACR,EC1DIE,GAAO9H,KAAK8H,KCIhB,SAASC,GAAMxH,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHG,EAAMmH,GAAQ/G,EAAKP,GAC3B,CCJA,ICPI0H,GAAO9H,KAAK8H,KCIhB,SAASG,GAAM1H,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHsH,GAAQ/G,EAAKP,GAAMG,EAC3B,CCHA,SAASmH,GAAQnH,EAAKH,GACrB,IAAM4B,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBrH,GAC3B,MAAM,IAAI8D,UAAWgB,GAAQ,gFAAiF9E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAAS8H,GAAMZ,GAKd,IAJA,IACIa,EADA5H,EAAM,GAIF+G,EAAI,GAIV/G,GAHD4H,EAAIb,EAAI,MACRA,EAAIvH,EAAOoI,IAEJ,IAAM5H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC8BA,SAAS6H,GAAiBd,GACzB,IAAIe,EACAxG,EACAtB,EACA+H,EACAlI,EACAwC,EACAvC,EASJ,GALCwB,EADIyF,EAAI,GAAO,EAAIA,IAAMxH,EAClB,IAEA,IAGHwH,IAAMrI,GAAQqI,IAAMxH,EAIxB,OAAO+B,GAFPyG,EAAMZ,GAAQ,IA3EQ,KA4EtBnH,EAAMmH,GAAQ,IA7EW,KAiF1B,GAAKJ,GAAMA,EAIV,OAAOzF,GAFPyG,EAAMZ,GAAQ,IAlFQ,KAmFtBnH,EAAM,IAAMmH,GAAQ,IAAKa,KAI1B,GAAW,IAANjB,EAIJ,OAAOzF,GAFPyG,EAAMZ,GAAQ,IAzFQ,KA0FtBnH,EAAMmH,GAAQ,IA3FW,KA2G1B,GAPA9E,GANA0E,ECnFD,SAAcA,GACb,OAAOtH,KAAKiC,IAAKqF,EAClB,CDiFKrF,CAAKqF,KAGTlH,EAAIL,EAAOuH,IAMXlH,EAAI8H,GAAM9H,GACVwC,EElGD,SAAgB0E,GACf,IAAI/G,EACA4H,EACA9H,EACA4D,EAGJ,GADA1D,EAAM,GACK,IAAN+G,EACJ,OAAO/G,EAKR,IAHA0D,EA/Bc,IAkCR5D,EAAI,EAAGA,EAlCC,OAmCb8H,EAAQ,EAAJb,IACM,GACTA,EAAIa,EAAI,EACR5H,GAAO,IAtCK,MAuCP0D,IACJA,EAAI5D,KAGLiH,EAAIa,EACJ5H,GAAO,OAGG,IAAN4H,GAAa9H,EAAE4D,EA9CP,KAiCa5D,KAkB3B,OAAOE,CACR,CFkEKiI,CAAO5F,GAGNxC,EAEJkI,EAAMlI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIuC,EAAEhC,OAAQP,IAC1B,GAAgB,MAAXuC,EAAGvC,GAAc,CACrBgI,EAAQhI,EAAI,EACZ,KACA,CAGFiI,GAAOD,CACP,CAuBD,OArBA9H,EAAMH,EAAIwC,EACL0F,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTlI,EAAMA,EAAIgE,UAAW8D,IAGrB9H,EAAMA,EAAIgE,UAAW,GAItB+D,EIvHD,SAAe/H,EAAKyH,EAAKrH,GACxB,IAAI+H,EACJ,IAAM1G,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBO,GAC3B,MAAM,IAAI9D,UAAWgB,GAAQ,gFAAiF8C,IAE/G,GAAK3D,UAAUzD,OAAS,EAAI,CAE3B,IAAMoB,GADN0G,EAAI/H,GAEH,MAAM,IAAIuD,UAAWgB,GAAQ,kEAAmEwD,IAEjG,GAAkB,IAAbA,EAAE9H,OACN,MAAM,IAAI+H,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKV,ETvByB,iBSwB7B,MAAM,IAAIW,WAAYzD,GAAQ,6FAA8F8C,IAE7H,OAAO1G,GAAMf,EAAKyH,EAAKU,EACxB,CJgGOT,CADNK,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpC/H,EK1HD,SAAeA,EAAKyH,EAAKrH,GACxB,IAAI+H,EACJ,IAAM1G,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBO,GAC3B,MAAM,IAAI9D,UAAWgB,GAAQ,gFAAiF8C,IAE/G,GAAK3D,UAAUzD,OAAS,EAAI,CAE3B,IAAMoB,GADN0G,EAAI/H,GAEH,MAAM,IAAIuD,UAAWgB,GAAQ,kEAAmEwD,IAEjG,GAAkB,IAAbA,EAAE9H,OACN,MAAM,IAAI+H,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKV,ElBvByB,iBkBwB7B,MAAM,IAAIW,WAAYzD,GAAQ,6FAA8F8C,IAE7H,OAAO1G,GAAMf,EAAKyH,EAAKU,EACxB,CLmGOX,CAAMxH,EA5Ic,GA4Ia,KAAMgE,UAAW,EA5I9B,IA+InB1C,EAAOyG,EAAM/H,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index e6c5458..0000000 --- a/stats.html +++ /dev/null @@ -1,6177 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From 10705a9d1c6d4d1402d18199f74c106bb14f6296 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Fri, 6 Oct 2023 18:55:23 +0000 Subject: [PATCH 072/146] Auto-generated commit --- .editorconfig | 186 - .eslintrc.js | 1 - .gitattributes | 49 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 797 --- .github/workflows/publish.yml | 247 - .github/workflows/test.yml | 100 - .github/workflows/test_bundles.yml | 189 - .github/workflows/test_coverage.yml | 128 - .github/workflows/test_install.yml | 86 - .gitignore | 188 - .npmignore | 227 - .npmrc | 28 - CHANGELOG.md | 5 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 6177 +++++++++++++++++++++ test/dist/test.js | 162 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 49 files changed, 6196 insertions(+), 4381 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 13e9c39..0000000 --- a/.editorconfig +++ /dev/null @@ -1,186 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index ab56cca..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index 3acd3a9..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA corresponding to v0.11.0 - uses: styfle/cancel-workflow-action@b173b6ec0100793626c2d9e6b90435061f4fc3e5 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index c1c45e7..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 6a6c18e..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA corresponding to v3.1.3 - uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA corresponding to v3.0.3: - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 265afda..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,797 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA corresponding to v2.0.0 - uses: act10ns/slack@ed1309ab9862e57e9e583e51c7889486b9a00b0f - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index bd54640..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../../dist' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './../fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './../fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './../fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './../fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 2dbeef97151a02722d450abdecbc78bd87c40d73 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Tue, 10 Oct 2023 20:39:47 +0000 Subject: [PATCH 073/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 95066a5..c11ef2c 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.1.1", "@stdlib/string-left-pad": "^0.1.1", "@stdlib/string-repeat": "^0.1.0", - "@stdlib/string-right-pad": "^0.1.1" + "@stdlib/string-right-pad": "^0.1.1", + "@stdlib/error-tools-fmtprodmsg": "^0.1.1" }, "devDependencies": { "@stdlib/assert-is-string": "^0.1.1", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From 2a4cd1bd263e91030273bc8b3f8c79a02f5ec9ce Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Tue, 10 Oct 2023 23:01:17 +0000 Subject: [PATCH 074/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 6177 ---------------------------------------------------- 4 files changed, 6260 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 3b4f336..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 87e4ef5..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2023 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var l=Number.POSITIVE_INFINITY,s="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof s)return!1;try{e=new s([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===l}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,h="function"==typeof Uint32Array;var d="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof d)return!1;try{e=new d(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(h&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var A=Object.defineProperty;function V(r){return"number"==typeof r}function j(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=$.call(t,L,"$1e"),t=$.call(t,W,"e"),t=$.call(t,Z,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=$.call(t,U,"e+0$1"),t=$.call(t,C,"e-0$1"),r.alternate&&(t=$.call(t,G,"$1."),t=$.call(t,M,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===R.call(r.specifier)?R.call(t):N.call(t)}function Y(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=B(a)?String(n.arg):q(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=X(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=x(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=z(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var K=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Q(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function rr(r){var e,t,n,i;for(t=[],i=0,n=K.exec(r);n;)(e=r.slice(i,K.lastIndex-n[0].length)).length&&t.push(e),t.push(Q(n)),i=K.lastIndex,n=K.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function er(r){return"string"==typeof r}function tr(r){var e,t,n;if(!er(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=rr(r),(t=new Array(arguments.length))[0]=e,n=1;nyr&&_(e=r)===e;var e}function wr(r){return fr(r)&&mr(r)}function br(r){return dr(r)&&mr(r.valueOf())}function Er(r){return wr(r)||br(r)}function Sr(r){return wr(r)&&r>=0}function _r(r){return br(r)&&r.valueOf()>=0}function Tr(r){return Sr(r)||_r(r)}function Ar(r){return"string"==typeof r}sr(Er,"isPrimitive",wr),sr(Er,"isObject",br),sr(Tr,"isPrimitive",Sr),sr(Tr,"isObject",_r);var Vr=String.prototype.valueOf;var jr=e();function xr(r){return"object"==typeof r&&(r instanceof String||(jr?function(r){try{return Vr.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function Fr(r){return Ar(r)||xr(r)}sr(Fr,"isPrimitive",Ar),sr(Fr,"isObject",xr);var kr=void 0!==String.prototype.repeat;var Or=String.prototype.repeat;var Ir=kr?function(r,e){return Or.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Pr=Math.ceil;function Nr(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Pr(n),r+Ir(t,n))}var Rr=Math.ceil;function $r(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Rr(n),Ir(t,n)+r)}function Ur(r,e){if(!Ar(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!Sr(e))throw new TypeError(tr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return Ir(r,e)}function Cr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}function Gr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=Ur("1",8))+(n=Ur("0",23));if(r!=r)return t+(i=Ur("1",8))+(n="1"+Ur("0",22));if(0===r)return t+(i=Ur("0",8))+(n=Ur("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=Cr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Ar(n=t))throw new TypeError(tr("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>9007199254740991)throw new RangeError(tr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return $r(r,e,n)}(i=Cr(i+127),8,"0"),n=function(r,e,t){var n;if(!Ar(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!Sr(e))throw new TypeError(tr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Ar(n=t))throw new TypeError(tr("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>9007199254740991)throw new RangeError(tr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return Nr(r,e,n)}(n,23,"0").substring(0,23),t+i+n}export{Gr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index d168bec..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/symbol-ctor/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/main.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/main.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/main.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/string-base-repeat/lib/has_builtin.js","../node_modules/@stdlib/string-base-repeat/lib/builtin.js","../node_modules/@stdlib/string-base-repeat/lib/index.js","../node_modules/@stdlib/string-base-repeat/lib/main.js","../node_modules/@stdlib/string-base-repeat/lib/polyfill.js","../node_modules/@stdlib/string-base-right-pad/node_modules/@stdlib/math-base-special-ceil/lib/main.js","../node_modules/@stdlib/string-base-right-pad/lib/main.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/string-base-left-pad/node_modules/@stdlib/math-base-special-ceil/lib/main.js","../node_modules/@stdlib/string-base-left-pad/lib/main.js","../node_modules/@stdlib/string-repeat/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/main.js","../node_modules/@stdlib/string-right-pad/lib/main.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","isString","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","lpad","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","p","RangeError"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CAGnB,CAFC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAId,CAFC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAAS8D,EAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAI8D,EAAMjC,KAAKiC,IACXlB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Be,EAAUlB,OAAOzD,UAAU2E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcrB,GACtB,IAAIsB,EACAzE,EACA0E,EAAIC,WAAYxB,EAAMG,KAC1B,IAAME,SAAUkB,GAAM,CACrB,IAAM1C,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7D0E,EAAIvB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAM0E,EAAEE,cAAezB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAM0E,EAAEG,QAAS1B,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCM,EAAKW,GAAM,OACfD,EAAStB,EAAMM,WACD,IACbgB,GAAU,GAEXzE,EAAM0E,EAAEE,cAAeH,IAEvBzE,EAAM0E,EAAEI,YAAa3B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAMgE,EAAQ7D,KAAMH,EAAKuE,EAAoB,OAC7CvE,EAAMgE,EAAQ7D,KAAMH,EAAKsE,EAAoB,KAC7CtE,EAAMgE,EAAQ7D,KAAMH,EAAKqE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAInD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAMgE,EAAQ7D,KAAMH,EAAKiE,EAAmB,SAC5CjE,EAAMgE,EAAQ7D,KAAMH,EAAKkE,EAAmB,SACvCf,EAAMS,YACV5D,EAAMgE,EAAQ7D,KAAMH,EAAKmE,EAAgB,OACzCnE,EAAMgE,EAAQ7D,KAAMH,EAAKoE,EAAsB,SAE3CM,GAAK,GAAKvB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS+E,EAAQ7C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASgF,EAAU3C,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAM0C,EAAQtC,GACdsC,EAAQtC,GAAQJ,CAElB,CC5BA,IAAI4C,EAAenC,OAAOmC,aACtBC,EAAQC,MACRC,EAAUC,MAAMD,QAYpB,SAASE,EAAYnC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIuF,MAAQpC,EAAMoC,OAAS,GAC3BvF,EAAIwF,QAAUrC,EAAMqC,QACbxF,CACR,CAmBA,SAASyF,EAAmBC,GAC3B,IAAIC,EACAJ,EACApC,EACAyC,EACAC,EACA7F,EACA8F,EACA3D,EACA4D,EAEJ,IAAMX,EAASM,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFA1F,EAAM,GACN8F,EAAM,EACA3D,EAAI,EAAGA,EAAIuD,EAAOhD,OAAQP,IAE/B,GAAK2B,EADLX,EAAQuC,EAAQvD,IAEfnC,GAAOmD,MACD,CAGN,GAFAwC,OAAgC,IAApBxC,EAAMM,YAClBN,EAAQmC,EAAYnC,IACRE,UACX,MAAM,IAAI2C,UAAW,oEAAqE7D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMqC,UACVM,EAAM3C,EAAMqC,SAEbD,EAAQpC,EAAMoC,MACRQ,EAAI,EAAGA,EAAIR,EAAM7C,OAAQqD,IAE9B,OADAH,EAAOL,EAAM1B,OAAQkC,IAErB,IAAK,IACJ5C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM8C,UAAW,EACjB,MACD,IAAK,IACJ9C,EAAM8C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ/C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmB0E,GAGtC,GAAqB,MAAhBzC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAU4C,UAAWL,GAAO,IAC1CA,GAAO,EACFZ,EAAO/B,EAAMb,OACjB,MAAM,IAAI0D,UAAW,wCAA0CF,EAAM,6BAA+B3C,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKqD,GACqB,MAApBxC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU4C,UAAWL,GAAO,IAC9CA,GAAO,EACFZ,EAAO/B,EAAMM,WACjB,MAAM,IAAIuC,UAAW,4CAA8CF,EAAM,6BAA+B3C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBkC,GAAY,EAEb,CAGF,OADAxC,EAAMG,IAAM6C,UAAWL,GACd3C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECsC,IACJxC,EAAM8C,UAAW,GAElB9C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAMiD,SAAW,EAAgBjD,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMyB,EAAO/B,EAAMG,KAAQ,CAE1B,IADAuC,EAAMtC,SAAUJ,EAAMG,IAAK,KAChB,GAAKuC,EAAM,IACrB,MAAM,IAAI3E,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ4B,EAAOW,GACpB/C,OAAQK,EAAMG,KACd2B,EAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLxC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMkB,EAAcrB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAMiD,UAAY,GAAKjD,EAAMG,IAAIZ,OAASS,EAAMiD,WACpDjD,EAAMG,IAAMH,EAAMG,IAAI+C,UAAW,EAAGlD,EAAMiD,WAEtCjD,EAAM8C,SACV9C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,IAAM0B,EAAU7B,EAAMG,IAAKH,EAAMb,MAAOa,EAAMO,WAErD1D,GAAOmD,EAAMG,KAAO,GACpBwC,GAAO,CACP,CAEF,OAAO9F,CACR,CC3LA,IAAIsG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAIrD,EAAQ,CACXqC,QAAagB,EAAO,GAAQjD,SAAUiD,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChBlE,MAASkE,EAAO,GAChB/C,UAAa+C,EAAO,GACpBnD,UAAamD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCrD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASsD,GAAgBpE,GACxB,IAAIqE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMvE,GACTmE,IACPE,EAAUrE,EAAIwE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI9D,SACxCA,QACZgD,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMvE,GAMlB,OAJAqE,EAAUrE,EAAIwE,MAAOF,IACRjE,QACZgD,EAAOqB,KAAML,GAEPhB,CACR,CClDA,SAAS5B,GAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAAS+G,GAAQ3E,GAChB,IAAIqD,EACAuB,EACA9E,EAEJ,IAAM2B,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAKjG,IAHAqD,EAASwB,GAAU7E,IACnB4E,EAAO,IAAI5B,MAAOc,UAAUzD,SACtB,GAAMgD,EACNvD,EAAI,EAAGA,EAAI8E,EAAKvE,OAAQP,IAC7B8E,EAAM9E,GAAMgE,UAAWhE,GAExB,OAAOgF,EAAYC,MAAO,KAAMH,EACjC,CChCA,IAAII,GAAiBjI,OAAOC,UACxBF,GAAQkI,GAAe/H,SACvBgI,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA/F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGK2H,GACa9G,EDqBlB,SAAyB+G,EAAKC,EAAMC,GACnC,IAAI7I,EACA8I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB7I,GAAMgB,KAAM6H,GAC3D,MAAM,IAAIhC,UAAWgB,GAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B/I,GAAMgB,KAAM+H,GACzE,MAAM,IAAIlC,UAAWgB,GAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAavH,KAAM6H,EAAKC,IACxBL,GAAazH,KAAM6H,EAAKC,IAGxB5I,EAAY2I,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAWjI,MAGzB+H,EAAIM,UAAYjJ,GAEhB2I,EAAKC,GAASC,EAAWjI,OAG3BmI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAInH,MAAO,wHASlB,OANKkH,GAAUd,IACdA,GAAanH,KAAM6H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAarH,KAAM6H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAMhI,GAC7C8B,GAAgBiG,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZ3I,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDcUyI,CAAM5I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCoBA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICnBA,IAAIE,GAAexI,GAAOyI,kBClB1B,SAASC,GAAWlJ,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWuH,EDDXnJ,KCEamJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAET,CCLA,SAASkJ,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAAMqJ,UAEf,CCGA,SAASH,GAAWlJ,GACnB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCXA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,GAAS,CAEX,CCLA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,EAAMqJ,WAAa,CAErB,CCQA,SAASC,GAAsBtJ,GAC9B,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCtBA,SAAS6D,GAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCmCA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICAAC,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICpDA,IAAIO,GAAUxG,OAAOzD,UAAUiK,QCQ/B,IAAIvK,GAAMa,IAmBV,SAASkE,GAAU7D,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAqJ,GAAQnJ,KAAMF,IACP,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDaUyI,CAAM5I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAAS6D,GAAU7D,GAClB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCsBA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,IChBA,IC7BInI,QAA4C,IAA5BkC,OAAOzD,UAAUmK,OCArC,IAAIA,GAAS1G,OAAOzD,UAAUmK,OCmC9B,IAAApG,GATKqG,GCFL,SAAiBpH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIwH,EACAC,EACJ,GAAoB,IAAftH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAwH,EAAM,GACNC,EAAMzH,EAGY,IAAP,EAAJyH,KACLD,GAAOrH,GAIK,IADbsH,KAAS,IAKTtH,GAAOA,EAER,OAAOqH,CACR,EC1DIE,GAAO9H,KAAK8H,KCIhB,SAASC,GAAMxH,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHG,EAAMmH,GAAQ/G,EAAKP,GAC3B,CCJA,ICPI0H,GAAO9H,KAAK8H,KCIhB,SAASG,GAAM1H,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHsH,GAAQ/G,EAAKP,GAAMG,EAC3B,CCHA,SAASmH,GAAQnH,EAAKH,GACrB,IAAM4B,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBrH,GAC3B,MAAM,IAAI8D,UAAWgB,GAAQ,gFAAiF9E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAAS8H,GAAMZ,GAKd,IAJA,IACIa,EADA5H,EAAM,GAIF+G,EAAI,GAIV/G,GAHD4H,EAAIb,EAAI,MACRA,EAAIvH,EAAOoI,IAEJ,IAAM5H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC8BA,SAAS6H,GAAiBd,GACzB,IAAIe,EACAxG,EACAtB,EACA+H,EACAlI,EACAwC,EACAvC,EASJ,GALCwB,EADIyF,EAAI,GAAO,EAAIA,IAAMxH,EAClB,IAEA,IAGHwH,IAAMrI,GAAQqI,IAAMxH,EAIxB,OAAO+B,GAFPyG,EAAMZ,GAAQ,IA3EQ,KA4EtBnH,EAAMmH,GAAQ,IA7EW,KAiF1B,GAAKJ,GAAMA,EAIV,OAAOzF,GAFPyG,EAAMZ,GAAQ,IAlFQ,KAmFtBnH,EAAM,IAAMmH,GAAQ,IAAKa,KAI1B,GAAW,IAANjB,EAIJ,OAAOzF,GAFPyG,EAAMZ,GAAQ,IAzFQ,KA0FtBnH,EAAMmH,GAAQ,IA3FW,KA2G1B,GAPA9E,GANA0E,ECnFD,SAAcA,GACb,OAAOtH,KAAKiC,IAAKqF,EAClB,CDiFKrF,CAAKqF,KAGTlH,EAAIL,EAAOuH,IAMXlH,EAAI8H,GAAM9H,GACVwC,EElGD,SAAgB0E,GACf,IAAI/G,EACA4H,EACA9H,EACA4D,EAGJ,GADA1D,EAAM,GACK,IAAN+G,EACJ,OAAO/G,EAKR,IAHA0D,EA/Bc,IAkCR5D,EAAI,EAAGA,EAlCC,OAmCb8H,EAAQ,EAAJb,IACM,GACTA,EAAIa,EAAI,EACR5H,GAAO,IAtCK,MAuCP0D,IACJA,EAAI5D,KAGLiH,EAAIa,EACJ5H,GAAO,OAGG,IAAN4H,GAAa9H,EAAE4D,EA9CP,KAiCa5D,KAkB3B,OAAOE,CACR,CFkEKiI,CAAO5F,GAGNxC,EAEJkI,EAAMlI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIuC,EAAEhC,OAAQP,IAC1B,GAAgB,MAAXuC,EAAGvC,GAAc,CACrBgI,EAAQhI,EAAI,EACZ,KACA,CAGFiI,GAAOD,CACP,CAuBD,OArBA9H,EAAMH,EAAIwC,EACL0F,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTlI,EAAMA,EAAIgE,UAAW8D,IAGrB9H,EAAMA,EAAIgE,UAAW,GAItB+D,EIvHD,SAAe/H,EAAKyH,EAAKrH,GACxB,IAAI+H,EACJ,IAAM1G,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBO,GAC3B,MAAM,IAAI9D,UAAWgB,GAAQ,gFAAiF8C,IAE/G,GAAK3D,UAAUzD,OAAS,EAAI,CAE3B,IAAMoB,GADN0G,EAAI/H,GAEH,MAAM,IAAIuD,UAAWgB,GAAQ,kEAAmEwD,IAEjG,GAAkB,IAAbA,EAAE9H,OACN,MAAM,IAAI+H,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKV,ETvByB,iBSwB7B,MAAM,IAAIW,WAAYzD,GAAQ,6FAA8F8C,IAE7H,OAAO1G,GAAMf,EAAKyH,EAAKU,EACxB,CJgGOT,CADNK,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpC/H,EK1HD,SAAeA,EAAKyH,EAAKrH,GACxB,IAAI+H,EACJ,IAAM1G,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBO,GAC3B,MAAM,IAAI9D,UAAWgB,GAAQ,gFAAiF8C,IAE/G,GAAK3D,UAAUzD,OAAS,EAAI,CAE3B,IAAMoB,GADN0G,EAAI/H,GAEH,MAAM,IAAIuD,UAAWgB,GAAQ,kEAAmEwD,IAEjG,GAAkB,IAAbA,EAAE9H,OACN,MAAM,IAAI+H,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKV,ElBvByB,iBkBwB7B,MAAM,IAAIW,WAAYzD,GAAQ,6FAA8F8C,IAE7H,OAAO1G,GAAMf,EAAKyH,EAAKU,EACxB,CLmGOX,CAAMxH,EA5Ic,GA4Ia,KAAMgE,UAAW,EA5I9B,IA+InB1C,EAAOyG,EAAM/H,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index 7857fba..0000000 --- a/stats.html +++ /dev/null @@ -1,6177 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From a1d9b6e2360389d3df817109c7878adec0affc38 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Tue, 10 Oct 2023 23:04:28 +0000 Subject: [PATCH 075/146] Auto-generated commit --- .editorconfig | 186 - .eslintrc.js | 1 - .gitattributes | 49 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 797 --- .github/workflows/publish.yml | 247 - .github/workflows/test.yml | 100 - .github/workflows/test_bundles.yml | 189 - .github/workflows/test_coverage.yml | 128 - .github/workflows/test_install.yml | 86 - .gitignore | 188 - .npmignore | 227 - .npmrc | 28 - CHANGELOG.md | 5 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 6177 +++++++++++++++++++++ test/dist/test.js | 162 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 49 files changed, 6196 insertions(+), 4381 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 13e9c39..0000000 --- a/.editorconfig +++ /dev/null @@ -1,186 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index ab56cca..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index 3acd3a9..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA corresponding to v0.11.0 - uses: styfle/cancel-workflow-action@b173b6ec0100793626c2d9e6b90435061f4fc3e5 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index c1c45e7..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 6a6c18e..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA corresponding to v3.1.3 - uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA corresponding to v3.0.3: - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 265afda..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,797 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA corresponding to v2.0.0 - uses: act10ns/slack@ed1309ab9862e57e9e583e51c7889486b9a00b0f - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index bd54640..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../../dist' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './../fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './../fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './../fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './../fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 6a062f80a612a92fd4cf2d4935a6e8f0bf6d8181 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Tue, 10 Oct 2023 23:13:43 +0000 Subject: [PATCH 076/146] Update README.md for Deno bundle v0.1.1 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 05bce77..1a4a807 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ limitations under the License. ## Usage ```javascript -import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@v0.1.1-deno/mod.js'; ``` #### toBinaryStringf( x ) @@ -111,7 +111,7 @@ import randu from 'https://cdn.jsdelivr.net/gh/stdlib-js/random-base-randu@deno/ import round from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-round@deno/mod.js'; import pow from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-pow@deno/mod.js'; import float64ToFloat32 from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float64-base-to-float32@deno/mod.js'; -import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@v0.1.1-deno/mod.js'; var frac; var sign; From c0a68fd74a514384e3b30e7c23fe6e7b4f9eaffe Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Tue, 10 Oct 2023 23:13:44 +0000 Subject: [PATCH 077/146] Auto-generated commit --- README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1a4a807..3a10622 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,11 @@ limitations under the License. ## Usage +```javascript +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; +``` +The previous example will load the latest bundled code from the deno branch. Alternatively, you may load a specific version by loading the file from one of the [tagged bundles](https://github.com/stdlib-js/number-float32-base-to-binary-string/tags). For example, + ```javascript import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@v0.1.1-deno/mod.js'; ``` @@ -111,7 +116,7 @@ import randu from 'https://cdn.jsdelivr.net/gh/stdlib-js/random-base-randu@deno/ import round from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-round@deno/mod.js'; import pow from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-pow@deno/mod.js'; import float64ToFloat32 from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float64-base-to-float32@deno/mod.js'; -import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@v0.1.1-deno/mod.js'; +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; var frac; var sign; From cab59923ba3690e8ba99a81e7f57a62e5f811cac Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Wed, 1 Nov 2023 11:39:11 +0000 Subject: [PATCH 078/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 95066a5..c11ef2c 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.1.1", "@stdlib/string-left-pad": "^0.1.1", "@stdlib/string-repeat": "^0.1.0", - "@stdlib/string-right-pad": "^0.1.1" + "@stdlib/string-right-pad": "^0.1.1", + "@stdlib/error-tools-fmtprodmsg": "^0.1.1" }, "devDependencies": { "@stdlib/assert-is-string": "^0.1.1", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From 570666594ce2c5f7a275113fc9ba83aa2d2f224c Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 2 Nov 2023 18:05:28 +0000 Subject: [PATCH 079/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 6177 ---------------------------------------------------- 4 files changed, 6260 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 3b4f336..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 87e4ef5..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2023 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var l=Number.POSITIVE_INFINITY,s="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof s)return!1;try{e=new s([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===l}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,h="function"==typeof Uint32Array;var d="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof d)return!1;try{e=new d(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(h&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var A=Object.defineProperty;function V(r){return"number"==typeof r}function j(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=$.call(t,L,"$1e"),t=$.call(t,W,"e"),t=$.call(t,Z,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=$.call(t,U,"e+0$1"),t=$.call(t,C,"e-0$1"),r.alternate&&(t=$.call(t,G,"$1."),t=$.call(t,M,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===R.call(r.specifier)?R.call(t):N.call(t)}function Y(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=B(a)?String(n.arg):q(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=X(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=x(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=z(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var K=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Q(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function rr(r){var e,t,n,i;for(t=[],i=0,n=K.exec(r);n;)(e=r.slice(i,K.lastIndex-n[0].length)).length&&t.push(e),t.push(Q(n)),i=K.lastIndex,n=K.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function er(r){return"string"==typeof r}function tr(r){var e,t,n;if(!er(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=rr(r),(t=new Array(arguments.length))[0]=e,n=1;nyr&&_(e=r)===e;var e}function wr(r){return fr(r)&&mr(r)}function br(r){return dr(r)&&mr(r.valueOf())}function Er(r){return wr(r)||br(r)}function Sr(r){return wr(r)&&r>=0}function _r(r){return br(r)&&r.valueOf()>=0}function Tr(r){return Sr(r)||_r(r)}function Ar(r){return"string"==typeof r}sr(Er,"isPrimitive",wr),sr(Er,"isObject",br),sr(Tr,"isPrimitive",Sr),sr(Tr,"isObject",_r);var Vr=String.prototype.valueOf;var jr=e();function xr(r){return"object"==typeof r&&(r instanceof String||(jr?function(r){try{return Vr.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function Fr(r){return Ar(r)||xr(r)}sr(Fr,"isPrimitive",Ar),sr(Fr,"isObject",xr);var kr=void 0!==String.prototype.repeat;var Or=String.prototype.repeat;var Ir=kr?function(r,e){return Or.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Pr=Math.ceil;function Nr(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Pr(n),r+Ir(t,n))}var Rr=Math.ceil;function $r(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Rr(n),Ir(t,n)+r)}function Ur(r,e){if(!Ar(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!Sr(e))throw new TypeError(tr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return Ir(r,e)}function Cr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}function Gr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=Ur("1",8))+(n=Ur("0",23));if(r!=r)return t+(i=Ur("1",8))+(n="1"+Ur("0",22));if(0===r)return t+(i=Ur("0",8))+(n=Ur("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=Cr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Ar(n=t))throw new TypeError(tr("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>9007199254740991)throw new RangeError(tr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return $r(r,e,n)}(i=Cr(i+127),8,"0"),n=function(r,e,t){var n;if(!Ar(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!Sr(e))throw new TypeError(tr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Ar(n=t))throw new TypeError(tr("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>9007199254740991)throw new RangeError(tr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return Nr(r,e,n)}(n,23,"0").substring(0,23),t+i+n}export{Gr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index d168bec..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/symbol-ctor/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/main.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/main.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/main.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/string-base-repeat/lib/has_builtin.js","../node_modules/@stdlib/string-base-repeat/lib/builtin.js","../node_modules/@stdlib/string-base-repeat/lib/index.js","../node_modules/@stdlib/string-base-repeat/lib/main.js","../node_modules/@stdlib/string-base-repeat/lib/polyfill.js","../node_modules/@stdlib/string-base-right-pad/node_modules/@stdlib/math-base-special-ceil/lib/main.js","../node_modules/@stdlib/string-base-right-pad/lib/main.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/string-base-left-pad/node_modules/@stdlib/math-base-special-ceil/lib/main.js","../node_modules/@stdlib/string-base-left-pad/lib/main.js","../node_modules/@stdlib/string-repeat/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/main.js","../node_modules/@stdlib/string-right-pad/lib/main.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","isString","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","lpad","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","p","RangeError"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CAGnB,CAFC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAId,CAFC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAAS8D,EAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAI8D,EAAMjC,KAAKiC,IACXlB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Be,EAAUlB,OAAOzD,UAAU2E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcrB,GACtB,IAAIsB,EACAzE,EACA0E,EAAIC,WAAYxB,EAAMG,KAC1B,IAAME,SAAUkB,GAAM,CACrB,IAAM1C,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7D0E,EAAIvB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAM0E,EAAEE,cAAezB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAM0E,EAAEG,QAAS1B,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCM,EAAKW,GAAM,OACfD,EAAStB,EAAMM,WACD,IACbgB,GAAU,GAEXzE,EAAM0E,EAAEE,cAAeH,IAEvBzE,EAAM0E,EAAEI,YAAa3B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAMgE,EAAQ7D,KAAMH,EAAKuE,EAAoB,OAC7CvE,EAAMgE,EAAQ7D,KAAMH,EAAKsE,EAAoB,KAC7CtE,EAAMgE,EAAQ7D,KAAMH,EAAKqE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAInD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAMgE,EAAQ7D,KAAMH,EAAKiE,EAAmB,SAC5CjE,EAAMgE,EAAQ7D,KAAMH,EAAKkE,EAAmB,SACvCf,EAAMS,YACV5D,EAAMgE,EAAQ7D,KAAMH,EAAKmE,EAAgB,OACzCnE,EAAMgE,EAAQ7D,KAAMH,EAAKoE,EAAsB,SAE3CM,GAAK,GAAKvB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS+E,EAAQ7C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASgF,EAAU3C,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAM0C,EAAQtC,GACdsC,EAAQtC,GAAQJ,CAElB,CC5BA,IAAI4C,EAAenC,OAAOmC,aACtBC,EAAQC,MACRC,EAAUC,MAAMD,QAYpB,SAASE,EAAYnC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIuF,MAAQpC,EAAMoC,OAAS,GAC3BvF,EAAIwF,QAAUrC,EAAMqC,QACbxF,CACR,CAmBA,SAASyF,EAAmBC,GAC3B,IAAIC,EACAJ,EACApC,EACAyC,EACAC,EACA7F,EACA8F,EACA3D,EACA4D,EAEJ,IAAMX,EAASM,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFA1F,EAAM,GACN8F,EAAM,EACA3D,EAAI,EAAGA,EAAIuD,EAAOhD,OAAQP,IAE/B,GAAK2B,EADLX,EAAQuC,EAAQvD,IAEfnC,GAAOmD,MACD,CAGN,GAFAwC,OAAgC,IAApBxC,EAAMM,YAClBN,EAAQmC,EAAYnC,IACRE,UACX,MAAM,IAAI2C,UAAW,oEAAqE7D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMqC,UACVM,EAAM3C,EAAMqC,SAEbD,EAAQpC,EAAMoC,MACRQ,EAAI,EAAGA,EAAIR,EAAM7C,OAAQqD,IAE9B,OADAH,EAAOL,EAAM1B,OAAQkC,IAErB,IAAK,IACJ5C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM8C,UAAW,EACjB,MACD,IAAK,IACJ9C,EAAM8C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ/C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmB0E,GAGtC,GAAqB,MAAhBzC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAU4C,UAAWL,GAAO,IAC1CA,GAAO,EACFZ,EAAO/B,EAAMb,OACjB,MAAM,IAAI0D,UAAW,wCAA0CF,EAAM,6BAA+B3C,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKqD,GACqB,MAApBxC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU4C,UAAWL,GAAO,IAC9CA,GAAO,EACFZ,EAAO/B,EAAMM,WACjB,MAAM,IAAIuC,UAAW,4CAA8CF,EAAM,6BAA+B3C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBkC,GAAY,EAEb,CAGF,OADAxC,EAAMG,IAAM6C,UAAWL,GACd3C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECsC,IACJxC,EAAM8C,UAAW,GAElB9C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAMiD,SAAW,EAAgBjD,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMyB,EAAO/B,EAAMG,KAAQ,CAE1B,IADAuC,EAAMtC,SAAUJ,EAAMG,IAAK,KAChB,GAAKuC,EAAM,IACrB,MAAM,IAAI3E,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ4B,EAAOW,GACpB/C,OAAQK,EAAMG,KACd2B,EAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLxC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMkB,EAAcrB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAMiD,UAAY,GAAKjD,EAAMG,IAAIZ,OAASS,EAAMiD,WACpDjD,EAAMG,IAAMH,EAAMG,IAAI+C,UAAW,EAAGlD,EAAMiD,WAEtCjD,EAAM8C,SACV9C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,IAAM0B,EAAU7B,EAAMG,IAAKH,EAAMb,MAAOa,EAAMO,WAErD1D,GAAOmD,EAAMG,KAAO,GACpBwC,GAAO,CACP,CAEF,OAAO9F,CACR,CC3LA,IAAIsG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAIrD,EAAQ,CACXqC,QAAagB,EAAO,GAAQjD,SAAUiD,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChBlE,MAASkE,EAAO,GAChB/C,UAAa+C,EAAO,GACpBnD,UAAamD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCrD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASsD,GAAgBpE,GACxB,IAAIqE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMvE,GACTmE,IACPE,EAAUrE,EAAIwE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI9D,SACxCA,QACZgD,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMvE,GAMlB,OAJAqE,EAAUrE,EAAIwE,MAAOF,IACRjE,QACZgD,EAAOqB,KAAML,GAEPhB,CACR,CClDA,SAAS5B,GAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAAS+G,GAAQ3E,GAChB,IAAIqD,EACAuB,EACA9E,EAEJ,IAAM2B,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAKjG,IAHAqD,EAASwB,GAAU7E,IACnB4E,EAAO,IAAI5B,MAAOc,UAAUzD,SACtB,GAAMgD,EACNvD,EAAI,EAAGA,EAAI8E,EAAKvE,OAAQP,IAC7B8E,EAAM9E,GAAMgE,UAAWhE,GAExB,OAAOgF,EAAYC,MAAO,KAAMH,EACjC,CChCA,IAAII,GAAiBjI,OAAOC,UACxBF,GAAQkI,GAAe/H,SACvBgI,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA/F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGK2H,GACa9G,EDqBlB,SAAyB+G,EAAKC,EAAMC,GACnC,IAAI7I,EACA8I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB7I,GAAMgB,KAAM6H,GAC3D,MAAM,IAAIhC,UAAWgB,GAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B/I,GAAMgB,KAAM+H,GACzE,MAAM,IAAIlC,UAAWgB,GAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAavH,KAAM6H,EAAKC,IACxBL,GAAazH,KAAM6H,EAAKC,IAGxB5I,EAAY2I,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAWjI,MAGzB+H,EAAIM,UAAYjJ,GAEhB2I,EAAKC,GAASC,EAAWjI,OAG3BmI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAInH,MAAO,wHASlB,OANKkH,GAAUd,IACdA,GAAanH,KAAM6H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAarH,KAAM6H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAMhI,GAC7C8B,GAAgBiG,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZ3I,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDcUyI,CAAM5I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCoBA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICnBA,IAAIE,GAAexI,GAAOyI,kBClB1B,SAASC,GAAWlJ,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWuH,EDDXnJ,KCEamJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAET,CCLA,SAASkJ,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAAMqJ,UAEf,CCGA,SAASH,GAAWlJ,GACnB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCXA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,GAAS,CAEX,CCLA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,EAAMqJ,WAAa,CAErB,CCQA,SAASC,GAAsBtJ,GAC9B,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCtBA,SAAS6D,GAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCmCA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICAAC,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICpDA,IAAIO,GAAUxG,OAAOzD,UAAUiK,QCQ/B,IAAIvK,GAAMa,IAmBV,SAASkE,GAAU7D,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAqJ,GAAQnJ,KAAMF,IACP,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDaUyI,CAAM5I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAAS6D,GAAU7D,GAClB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCsBA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,IChBA,IC7BInI,QAA4C,IAA5BkC,OAAOzD,UAAUmK,OCArC,IAAIA,GAAS1G,OAAOzD,UAAUmK,OCmC9B,IAAApG,GATKqG,GCFL,SAAiBpH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIwH,EACAC,EACJ,GAAoB,IAAftH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAwH,EAAM,GACNC,EAAMzH,EAGY,IAAP,EAAJyH,KACLD,GAAOrH,GAIK,IADbsH,KAAS,IAKTtH,GAAOA,EAER,OAAOqH,CACR,EC1DIE,GAAO9H,KAAK8H,KCIhB,SAASC,GAAMxH,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHG,EAAMmH,GAAQ/G,EAAKP,GAC3B,CCJA,ICPI0H,GAAO9H,KAAK8H,KCIhB,SAASG,GAAM1H,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHsH,GAAQ/G,EAAKP,GAAMG,EAC3B,CCHA,SAASmH,GAAQnH,EAAKH,GACrB,IAAM4B,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBrH,GAC3B,MAAM,IAAI8D,UAAWgB,GAAQ,gFAAiF9E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAAS8H,GAAMZ,GAKd,IAJA,IACIa,EADA5H,EAAM,GAIF+G,EAAI,GAIV/G,GAHD4H,EAAIb,EAAI,MACRA,EAAIvH,EAAOoI,IAEJ,IAAM5H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC8BA,SAAS6H,GAAiBd,GACzB,IAAIe,EACAxG,EACAtB,EACA+H,EACAlI,EACAwC,EACAvC,EASJ,GALCwB,EADIyF,EAAI,GAAO,EAAIA,IAAMxH,EAClB,IAEA,IAGHwH,IAAMrI,GAAQqI,IAAMxH,EAIxB,OAAO+B,GAFPyG,EAAMZ,GAAQ,IA3EQ,KA4EtBnH,EAAMmH,GAAQ,IA7EW,KAiF1B,GAAKJ,GAAMA,EAIV,OAAOzF,GAFPyG,EAAMZ,GAAQ,IAlFQ,KAmFtBnH,EAAM,IAAMmH,GAAQ,IAAKa,KAI1B,GAAW,IAANjB,EAIJ,OAAOzF,GAFPyG,EAAMZ,GAAQ,IAzFQ,KA0FtBnH,EAAMmH,GAAQ,IA3FW,KA2G1B,GAPA9E,GANA0E,ECnFD,SAAcA,GACb,OAAOtH,KAAKiC,IAAKqF,EAClB,CDiFKrF,CAAKqF,KAGTlH,EAAIL,EAAOuH,IAMXlH,EAAI8H,GAAM9H,GACVwC,EElGD,SAAgB0E,GACf,IAAI/G,EACA4H,EACA9H,EACA4D,EAGJ,GADA1D,EAAM,GACK,IAAN+G,EACJ,OAAO/G,EAKR,IAHA0D,EA/Bc,IAkCR5D,EAAI,EAAGA,EAlCC,OAmCb8H,EAAQ,EAAJb,IACM,GACTA,EAAIa,EAAI,EACR5H,GAAO,IAtCK,MAuCP0D,IACJA,EAAI5D,KAGLiH,EAAIa,EACJ5H,GAAO,OAGG,IAAN4H,GAAa9H,EAAE4D,EA9CP,KAiCa5D,KAkB3B,OAAOE,CACR,CFkEKiI,CAAO5F,GAGNxC,EAEJkI,EAAMlI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIuC,EAAEhC,OAAQP,IAC1B,GAAgB,MAAXuC,EAAGvC,GAAc,CACrBgI,EAAQhI,EAAI,EACZ,KACA,CAGFiI,GAAOD,CACP,CAuBD,OArBA9H,EAAMH,EAAIwC,EACL0F,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTlI,EAAMA,EAAIgE,UAAW8D,IAGrB9H,EAAMA,EAAIgE,UAAW,GAItB+D,EIvHD,SAAe/H,EAAKyH,EAAKrH,GACxB,IAAI+H,EACJ,IAAM1G,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBO,GAC3B,MAAM,IAAI9D,UAAWgB,GAAQ,gFAAiF8C,IAE/G,GAAK3D,UAAUzD,OAAS,EAAI,CAE3B,IAAMoB,GADN0G,EAAI/H,GAEH,MAAM,IAAIuD,UAAWgB,GAAQ,kEAAmEwD,IAEjG,GAAkB,IAAbA,EAAE9H,OACN,MAAM,IAAI+H,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKV,ETvByB,iBSwB7B,MAAM,IAAIW,WAAYzD,GAAQ,6FAA8F8C,IAE7H,OAAO1G,GAAMf,EAAKyH,EAAKU,EACxB,CJgGOT,CADNK,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpC/H,EK1HD,SAAeA,EAAKyH,EAAKrH,GACxB,IAAI+H,EACJ,IAAM1G,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBO,GAC3B,MAAM,IAAI9D,UAAWgB,GAAQ,gFAAiF8C,IAE/G,GAAK3D,UAAUzD,OAAS,EAAI,CAE3B,IAAMoB,GADN0G,EAAI/H,GAEH,MAAM,IAAIuD,UAAWgB,GAAQ,kEAAmEwD,IAEjG,GAAkB,IAAbA,EAAE9H,OACN,MAAM,IAAI+H,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKV,ElBvByB,iBkBwB7B,MAAM,IAAIW,WAAYzD,GAAQ,6FAA8F8C,IAE7H,OAAO1G,GAAMf,EAAKyH,EAAKU,EACxB,CLmGOX,CAAMxH,EA5Ic,GA4Ia,KAAMgE,UAAW,EA5I9B,IA+InB1C,EAAOyG,EAAM/H,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index f085a9c..0000000 --- a/stats.html +++ /dev/null @@ -1,6177 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From d50f16a7249236ed338666b1a791d29d3bf335bf Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 2 Nov 2023 18:10:10 +0000 Subject: [PATCH 080/146] Auto-generated commit --- .editorconfig | 186 - .eslintrc.js | 1 - .gitattributes | 49 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 797 --- .github/workflows/publish.yml | 255 - .github/workflows/test.yml | 100 - .github/workflows/test_bundles.yml | 189 - .github/workflows/test_coverage.yml | 128 - .github/workflows/test_install.yml | 86 - .gitignore | 188 - .npmignore | 227 - .npmrc | 28 - CHANGELOG.md | 5 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 38 +- benchmark/benchmark.js | 52 - branches.md | 53 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 6177 +++++++++++++++++++++ test/dist/test.js | 33 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 50 files changed, 6196 insertions(+), 4261 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 13e9c39..0000000 --- a/.editorconfig +++ /dev/null @@ -1,186 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index e8386a3..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2023-11-01T03:46:18.583Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index ab56cca..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index 3acd3a9..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA corresponding to v0.11.0 - uses: styfle/cancel-workflow-action@b173b6ec0100793626c2d9e6b90435061f4fc3e5 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index c1c45e7..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 6a6c18e..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA corresponding to v3.1.3 - uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA corresponding to v3.0.3: - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 265afda..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,797 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA corresponding to v2.0.0 - uses: act10ns/slack@ed1309ab9862e57e9e583e51c7889486b9a00b0f - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index a8a9c60..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,33 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2023 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 main = require( './../../dist' ); - - -// TESTS // - -tape( 'main export is defined', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( main !== void 0, true, 'main export is defined' ); - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From cfa4774b4b89efa06394e14dc75dcad6419d9f46 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 9 Nov 2023 11:30:17 +0000 Subject: [PATCH 081/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 080f126..4c2a948 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.1.1", "@stdlib/string-left-pad": "^0.1.1", "@stdlib/string-repeat": "^0.1.0", - "@stdlib/string-right-pad": "^0.1.1" + "@stdlib/string-right-pad": "^0.1.1", + "@stdlib/error-tools-fmtprodmsg": "^0.1.1" }, "devDependencies": { "@stdlib/assert-is-string": "^0.1.1", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From e9439d2a5ddcd0e5943ba02c5b59552b7f927aa6 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 9 Nov 2023 15:06:36 +0000 Subject: [PATCH 082/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 6177 ---------------------------------------------------- 4 files changed, 6260 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 3b4f336..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 87e4ef5..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2023 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var l=Number.POSITIVE_INFINITY,s="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof s)return!1;try{e=new s([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===l}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,h="function"==typeof Uint32Array;var d="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof d)return!1;try{e=new d(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(h&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var A=Object.defineProperty;function V(r){return"number"==typeof r}function j(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=$.call(t,L,"$1e"),t=$.call(t,W,"e"),t=$.call(t,Z,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=$.call(t,U,"e+0$1"),t=$.call(t,C,"e-0$1"),r.alternate&&(t=$.call(t,G,"$1."),t=$.call(t,M,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===R.call(r.specifier)?R.call(t):N.call(t)}function Y(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=B(a)?String(n.arg):q(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=X(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=x(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=z(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var K=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Q(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function rr(r){var e,t,n,i;for(t=[],i=0,n=K.exec(r);n;)(e=r.slice(i,K.lastIndex-n[0].length)).length&&t.push(e),t.push(Q(n)),i=K.lastIndex,n=K.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function er(r){return"string"==typeof r}function tr(r){var e,t,n;if(!er(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=rr(r),(t=new Array(arguments.length))[0]=e,n=1;nyr&&_(e=r)===e;var e}function wr(r){return fr(r)&&mr(r)}function br(r){return dr(r)&&mr(r.valueOf())}function Er(r){return wr(r)||br(r)}function Sr(r){return wr(r)&&r>=0}function _r(r){return br(r)&&r.valueOf()>=0}function Tr(r){return Sr(r)||_r(r)}function Ar(r){return"string"==typeof r}sr(Er,"isPrimitive",wr),sr(Er,"isObject",br),sr(Tr,"isPrimitive",Sr),sr(Tr,"isObject",_r);var Vr=String.prototype.valueOf;var jr=e();function xr(r){return"object"==typeof r&&(r instanceof String||(jr?function(r){try{return Vr.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function Fr(r){return Ar(r)||xr(r)}sr(Fr,"isPrimitive",Ar),sr(Fr,"isObject",xr);var kr=void 0!==String.prototype.repeat;var Or=String.prototype.repeat;var Ir=kr?function(r,e){return Or.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Pr=Math.ceil;function Nr(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Pr(n),r+Ir(t,n))}var Rr=Math.ceil;function $r(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Rr(n),Ir(t,n)+r)}function Ur(r,e){if(!Ar(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!Sr(e))throw new TypeError(tr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return Ir(r,e)}function Cr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}function Gr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=Ur("1",8))+(n=Ur("0",23));if(r!=r)return t+(i=Ur("1",8))+(n="1"+Ur("0",22));if(0===r)return t+(i=Ur("0",8))+(n=Ur("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=Cr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Ar(n=t))throw new TypeError(tr("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>9007199254740991)throw new RangeError(tr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return $r(r,e,n)}(i=Cr(i+127),8,"0"),n=function(r,e,t){var n;if(!Ar(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!Sr(e))throw new TypeError(tr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Ar(n=t))throw new TypeError(tr("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>9007199254740991)throw new RangeError(tr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return Nr(r,e,n)}(n,23,"0").substring(0,23),t+i+n}export{Gr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index d168bec..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/symbol-ctor/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/main.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/main.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/main.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/string-base-repeat/lib/has_builtin.js","../node_modules/@stdlib/string-base-repeat/lib/builtin.js","../node_modules/@stdlib/string-base-repeat/lib/index.js","../node_modules/@stdlib/string-base-repeat/lib/main.js","../node_modules/@stdlib/string-base-repeat/lib/polyfill.js","../node_modules/@stdlib/string-base-right-pad/node_modules/@stdlib/math-base-special-ceil/lib/main.js","../node_modules/@stdlib/string-base-right-pad/lib/main.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/string-base-left-pad/node_modules/@stdlib/math-base-special-ceil/lib/main.js","../node_modules/@stdlib/string-base-left-pad/lib/main.js","../node_modules/@stdlib/string-repeat/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/main.js","../node_modules/@stdlib/string-right-pad/lib/main.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","isString","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","lpad","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","p","RangeError"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CAGnB,CAFC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAId,CAFC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAAS8D,EAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAI8D,EAAMjC,KAAKiC,IACXlB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Be,EAAUlB,OAAOzD,UAAU2E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcrB,GACtB,IAAIsB,EACAzE,EACA0E,EAAIC,WAAYxB,EAAMG,KAC1B,IAAME,SAAUkB,GAAM,CACrB,IAAM1C,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7D0E,EAAIvB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAM0E,EAAEE,cAAezB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAM0E,EAAEG,QAAS1B,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCM,EAAKW,GAAM,OACfD,EAAStB,EAAMM,WACD,IACbgB,GAAU,GAEXzE,EAAM0E,EAAEE,cAAeH,IAEvBzE,EAAM0E,EAAEI,YAAa3B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAMgE,EAAQ7D,KAAMH,EAAKuE,EAAoB,OAC7CvE,EAAMgE,EAAQ7D,KAAMH,EAAKsE,EAAoB,KAC7CtE,EAAMgE,EAAQ7D,KAAMH,EAAKqE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAInD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAMgE,EAAQ7D,KAAMH,EAAKiE,EAAmB,SAC5CjE,EAAMgE,EAAQ7D,KAAMH,EAAKkE,EAAmB,SACvCf,EAAMS,YACV5D,EAAMgE,EAAQ7D,KAAMH,EAAKmE,EAAgB,OACzCnE,EAAMgE,EAAQ7D,KAAMH,EAAKoE,EAAsB,SAE3CM,GAAK,GAAKvB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS+E,EAAQ7C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASgF,EAAU3C,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAM0C,EAAQtC,GACdsC,EAAQtC,GAAQJ,CAElB,CC5BA,IAAI4C,EAAenC,OAAOmC,aACtBC,EAAQC,MACRC,EAAUC,MAAMD,QAYpB,SAASE,EAAYnC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIuF,MAAQpC,EAAMoC,OAAS,GAC3BvF,EAAIwF,QAAUrC,EAAMqC,QACbxF,CACR,CAmBA,SAASyF,EAAmBC,GAC3B,IAAIC,EACAJ,EACApC,EACAyC,EACAC,EACA7F,EACA8F,EACA3D,EACA4D,EAEJ,IAAMX,EAASM,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFA1F,EAAM,GACN8F,EAAM,EACA3D,EAAI,EAAGA,EAAIuD,EAAOhD,OAAQP,IAE/B,GAAK2B,EADLX,EAAQuC,EAAQvD,IAEfnC,GAAOmD,MACD,CAGN,GAFAwC,OAAgC,IAApBxC,EAAMM,YAClBN,EAAQmC,EAAYnC,IACRE,UACX,MAAM,IAAI2C,UAAW,oEAAqE7D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMqC,UACVM,EAAM3C,EAAMqC,SAEbD,EAAQpC,EAAMoC,MACRQ,EAAI,EAAGA,EAAIR,EAAM7C,OAAQqD,IAE9B,OADAH,EAAOL,EAAM1B,OAAQkC,IAErB,IAAK,IACJ5C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM8C,UAAW,EACjB,MACD,IAAK,IACJ9C,EAAM8C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ/C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmB0E,GAGtC,GAAqB,MAAhBzC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAU4C,UAAWL,GAAO,IAC1CA,GAAO,EACFZ,EAAO/B,EAAMb,OACjB,MAAM,IAAI0D,UAAW,wCAA0CF,EAAM,6BAA+B3C,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKqD,GACqB,MAApBxC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU4C,UAAWL,GAAO,IAC9CA,GAAO,EACFZ,EAAO/B,EAAMM,WACjB,MAAM,IAAIuC,UAAW,4CAA8CF,EAAM,6BAA+B3C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBkC,GAAY,EAEb,CAGF,OADAxC,EAAMG,IAAM6C,UAAWL,GACd3C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECsC,IACJxC,EAAM8C,UAAW,GAElB9C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAMiD,SAAW,EAAgBjD,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMyB,EAAO/B,EAAMG,KAAQ,CAE1B,IADAuC,EAAMtC,SAAUJ,EAAMG,IAAK,KAChB,GAAKuC,EAAM,IACrB,MAAM,IAAI3E,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ4B,EAAOW,GACpB/C,OAAQK,EAAMG,KACd2B,EAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLxC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMkB,EAAcrB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAMiD,UAAY,GAAKjD,EAAMG,IAAIZ,OAASS,EAAMiD,WACpDjD,EAAMG,IAAMH,EAAMG,IAAI+C,UAAW,EAAGlD,EAAMiD,WAEtCjD,EAAM8C,SACV9C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,IAAM0B,EAAU7B,EAAMG,IAAKH,EAAMb,MAAOa,EAAMO,WAErD1D,GAAOmD,EAAMG,KAAO,GACpBwC,GAAO,CACP,CAEF,OAAO9F,CACR,CC3LA,IAAIsG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAIrD,EAAQ,CACXqC,QAAagB,EAAO,GAAQjD,SAAUiD,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChBlE,MAASkE,EAAO,GAChB/C,UAAa+C,EAAO,GACpBnD,UAAamD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCrD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASsD,GAAgBpE,GACxB,IAAIqE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMvE,GACTmE,IACPE,EAAUrE,EAAIwE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI9D,SACxCA,QACZgD,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMvE,GAMlB,OAJAqE,EAAUrE,EAAIwE,MAAOF,IACRjE,QACZgD,EAAOqB,KAAML,GAEPhB,CACR,CClDA,SAAS5B,GAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAAS+G,GAAQ3E,GAChB,IAAIqD,EACAuB,EACA9E,EAEJ,IAAM2B,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAKjG,IAHAqD,EAASwB,GAAU7E,IACnB4E,EAAO,IAAI5B,MAAOc,UAAUzD,SACtB,GAAMgD,EACNvD,EAAI,EAAGA,EAAI8E,EAAKvE,OAAQP,IAC7B8E,EAAM9E,GAAMgE,UAAWhE,GAExB,OAAOgF,EAAYC,MAAO,KAAMH,EACjC,CChCA,IAAII,GAAiBjI,OAAOC,UACxBF,GAAQkI,GAAe/H,SACvBgI,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA/F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGK2H,GACa9G,EDqBlB,SAAyB+G,EAAKC,EAAMC,GACnC,IAAI7I,EACA8I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB7I,GAAMgB,KAAM6H,GAC3D,MAAM,IAAIhC,UAAWgB,GAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B/I,GAAMgB,KAAM+H,GACzE,MAAM,IAAIlC,UAAWgB,GAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAavH,KAAM6H,EAAKC,IACxBL,GAAazH,KAAM6H,EAAKC,IAGxB5I,EAAY2I,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAWjI,MAGzB+H,EAAIM,UAAYjJ,GAEhB2I,EAAKC,GAASC,EAAWjI,OAG3BmI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAInH,MAAO,wHASlB,OANKkH,GAAUd,IACdA,GAAanH,KAAM6H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAarH,KAAM6H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAMhI,GAC7C8B,GAAgBiG,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZ3I,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDcUyI,CAAM5I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCoBA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICnBA,IAAIE,GAAexI,GAAOyI,kBClB1B,SAASC,GAAWlJ,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWuH,EDDXnJ,KCEamJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAET,CCLA,SAASkJ,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAAMqJ,UAEf,CCGA,SAASH,GAAWlJ,GACnB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCXA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,GAAS,CAEX,CCLA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,EAAMqJ,WAAa,CAErB,CCQA,SAASC,GAAsBtJ,GAC9B,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCtBA,SAAS6D,GAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCmCA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICAAC,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICpDA,IAAIO,GAAUxG,OAAOzD,UAAUiK,QCQ/B,IAAIvK,GAAMa,IAmBV,SAASkE,GAAU7D,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAqJ,GAAQnJ,KAAMF,IACP,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDaUyI,CAAM5I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAAS6D,GAAU7D,GAClB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCsBA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,IChBA,IC7BInI,QAA4C,IAA5BkC,OAAOzD,UAAUmK,OCArC,IAAIA,GAAS1G,OAAOzD,UAAUmK,OCmC9B,IAAApG,GATKqG,GCFL,SAAiBpH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIwH,EACAC,EACJ,GAAoB,IAAftH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAwH,EAAM,GACNC,EAAMzH,EAGY,IAAP,EAAJyH,KACLD,GAAOrH,GAIK,IADbsH,KAAS,IAKTtH,GAAOA,EAER,OAAOqH,CACR,EC1DIE,GAAO9H,KAAK8H,KCIhB,SAASC,GAAMxH,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHG,EAAMmH,GAAQ/G,EAAKP,GAC3B,CCJA,ICPI0H,GAAO9H,KAAK8H,KCIhB,SAASG,GAAM1H,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHsH,GAAQ/G,EAAKP,GAAMG,EAC3B,CCHA,SAASmH,GAAQnH,EAAKH,GACrB,IAAM4B,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBrH,GAC3B,MAAM,IAAI8D,UAAWgB,GAAQ,gFAAiF9E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAAS8H,GAAMZ,GAKd,IAJA,IACIa,EADA5H,EAAM,GAIF+G,EAAI,GAIV/G,GAHD4H,EAAIb,EAAI,MACRA,EAAIvH,EAAOoI,IAEJ,IAAM5H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC8BA,SAAS6H,GAAiBd,GACzB,IAAIe,EACAxG,EACAtB,EACA+H,EACAlI,EACAwC,EACAvC,EASJ,GALCwB,EADIyF,EAAI,GAAO,EAAIA,IAAMxH,EAClB,IAEA,IAGHwH,IAAMrI,GAAQqI,IAAMxH,EAIxB,OAAO+B,GAFPyG,EAAMZ,GAAQ,IA3EQ,KA4EtBnH,EAAMmH,GAAQ,IA7EW,KAiF1B,GAAKJ,GAAMA,EAIV,OAAOzF,GAFPyG,EAAMZ,GAAQ,IAlFQ,KAmFtBnH,EAAM,IAAMmH,GAAQ,IAAKa,KAI1B,GAAW,IAANjB,EAIJ,OAAOzF,GAFPyG,EAAMZ,GAAQ,IAzFQ,KA0FtBnH,EAAMmH,GAAQ,IA3FW,KA2G1B,GAPA9E,GANA0E,ECnFD,SAAcA,GACb,OAAOtH,KAAKiC,IAAKqF,EAClB,CDiFKrF,CAAKqF,KAGTlH,EAAIL,EAAOuH,IAMXlH,EAAI8H,GAAM9H,GACVwC,EElGD,SAAgB0E,GACf,IAAI/G,EACA4H,EACA9H,EACA4D,EAGJ,GADA1D,EAAM,GACK,IAAN+G,EACJ,OAAO/G,EAKR,IAHA0D,EA/Bc,IAkCR5D,EAAI,EAAGA,EAlCC,OAmCb8H,EAAQ,EAAJb,IACM,GACTA,EAAIa,EAAI,EACR5H,GAAO,IAtCK,MAuCP0D,IACJA,EAAI5D,KAGLiH,EAAIa,EACJ5H,GAAO,OAGG,IAAN4H,GAAa9H,EAAE4D,EA9CP,KAiCa5D,KAkB3B,OAAOE,CACR,CFkEKiI,CAAO5F,GAGNxC,EAEJkI,EAAMlI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIuC,EAAEhC,OAAQP,IAC1B,GAAgB,MAAXuC,EAAGvC,GAAc,CACrBgI,EAAQhI,EAAI,EACZ,KACA,CAGFiI,GAAOD,CACP,CAuBD,OArBA9H,EAAMH,EAAIwC,EACL0F,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTlI,EAAMA,EAAIgE,UAAW8D,IAGrB9H,EAAMA,EAAIgE,UAAW,GAItB+D,EIvHD,SAAe/H,EAAKyH,EAAKrH,GACxB,IAAI+H,EACJ,IAAM1G,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBO,GAC3B,MAAM,IAAI9D,UAAWgB,GAAQ,gFAAiF8C,IAE/G,GAAK3D,UAAUzD,OAAS,EAAI,CAE3B,IAAMoB,GADN0G,EAAI/H,GAEH,MAAM,IAAIuD,UAAWgB,GAAQ,kEAAmEwD,IAEjG,GAAkB,IAAbA,EAAE9H,OACN,MAAM,IAAI+H,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKV,ETvByB,iBSwB7B,MAAM,IAAIW,WAAYzD,GAAQ,6FAA8F8C,IAE7H,OAAO1G,GAAMf,EAAKyH,EAAKU,EACxB,CJgGOT,CADNK,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpC/H,EK1HD,SAAeA,EAAKyH,EAAKrH,GACxB,IAAI+H,EACJ,IAAM1G,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBO,GAC3B,MAAM,IAAI9D,UAAWgB,GAAQ,gFAAiF8C,IAE/G,GAAK3D,UAAUzD,OAAS,EAAI,CAE3B,IAAMoB,GADN0G,EAAI/H,GAEH,MAAM,IAAIuD,UAAWgB,GAAQ,kEAAmEwD,IAEjG,GAAkB,IAAbA,EAAE9H,OACN,MAAM,IAAI+H,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKV,ElBvByB,iBkBwB7B,MAAM,IAAIW,WAAYzD,GAAQ,6FAA8F8C,IAE7H,OAAO1G,GAAMf,EAAKyH,EAAKU,EACxB,CLmGOX,CAAMxH,EA5Ic,GA4Ia,KAAMgE,UAAW,EA5I9B,IA+InB1C,EAAOyG,EAAM/H,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index 67eced7..0000000 --- a/stats.html +++ /dev/null @@ -1,6177 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From e677fe1368682f0062b06110529f960ae5b32a7a Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 9 Nov 2023 15:09:31 +0000 Subject: [PATCH 083/146] Auto-generated commit --- .editorconfig | 186 - .eslintrc.js | 1 - .gitattributes | 49 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 797 --- .github/workflows/publish.yml | 255 - .github/workflows/test.yml | 100 - .github/workflows/test_bundles.yml | 189 - .github/workflows/test_coverage.yml | 128 - .github/workflows/test_install.yml | 86 - .gitignore | 188 - .npmignore | 227 - .npmrc | 28 - CHANGELOG.md | 5 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 42 +- benchmark/benchmark.js | 52 - branches.md | 53 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 6177 +++++++++++++++++++++ test/dist/test.js | 33 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 49 files changed, 6198 insertions(+), 4262 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 13e9c39..0000000 --- a/.editorconfig +++ /dev/null @@ -1,186 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tslint.json` files: -[tslint.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index ab56cca..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index 3acd3a9..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA corresponding to v0.11.0 - uses: styfle/cancel-workflow-action@b173b6ec0100793626c2d9e6b90435061f4fc3e5 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index c1c45e7..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 6a6c18e..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA corresponding to v3.1.3 - uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA corresponding to v3.0.3: - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 265afda..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,797 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA corresponding to v2.0.0 - uses: act10ns/slack@ed1309ab9862e57e9e583e51c7889486b9a00b0f - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index a8a9c60..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,33 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2023 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 main = require( './../../dist' ); - - -// TESTS // - -tape( 'main export is defined', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( main !== void 0, true, 'main export is defined' ); - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 8caee5167d27b1a3fa541b1ce4fc3cb1f17a001e Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Fri, 1 Dec 2023 08:58:53 +0000 Subject: [PATCH 084/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index c8181d5..5355002 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.1.1", "@stdlib/string-left-pad": "^0.1.1", "@stdlib/string-repeat": "^0.1.0", - "@stdlib/string-right-pad": "^0.1.1" + "@stdlib/string-right-pad": "^0.1.1", + "@stdlib/error-tools-fmtprodmsg": "^0.1.1" }, "devDependencies": { "@stdlib/assert-is-string": "^0.1.1", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From 3afcd692a5c42b08569ecdd8e38d4aa9e7571c18 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sat, 2 Dec 2023 05:04:25 +0000 Subject: [PATCH 085/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 6177 ---------------------------------------------------- 4 files changed, 6260 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 3b4f336..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 87e4ef5..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2023 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var l=Number.POSITIVE_INFINITY,s="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof s)return!1;try{e=new s([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===l}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,h="function"==typeof Uint32Array;var d="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof d)return!1;try{e=new d(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(h&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var A=Object.defineProperty;function V(r){return"number"==typeof r}function j(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=$.call(t,L,"$1e"),t=$.call(t,W,"e"),t=$.call(t,Z,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=$.call(t,U,"e+0$1"),t=$.call(t,C,"e-0$1"),r.alternate&&(t=$.call(t,G,"$1."),t=$.call(t,M,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===R.call(r.specifier)?R.call(t):N.call(t)}function Y(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=B(a)?String(n.arg):q(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=X(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=x(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=z(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var K=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Q(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function rr(r){var e,t,n,i;for(t=[],i=0,n=K.exec(r);n;)(e=r.slice(i,K.lastIndex-n[0].length)).length&&t.push(e),t.push(Q(n)),i=K.lastIndex,n=K.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function er(r){return"string"==typeof r}function tr(r){var e,t,n;if(!er(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=rr(r),(t=new Array(arguments.length))[0]=e,n=1;nyr&&_(e=r)===e;var e}function wr(r){return fr(r)&&mr(r)}function br(r){return dr(r)&&mr(r.valueOf())}function Er(r){return wr(r)||br(r)}function Sr(r){return wr(r)&&r>=0}function _r(r){return br(r)&&r.valueOf()>=0}function Tr(r){return Sr(r)||_r(r)}function Ar(r){return"string"==typeof r}sr(Er,"isPrimitive",wr),sr(Er,"isObject",br),sr(Tr,"isPrimitive",Sr),sr(Tr,"isObject",_r);var Vr=String.prototype.valueOf;var jr=e();function xr(r){return"object"==typeof r&&(r instanceof String||(jr?function(r){try{return Vr.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function Fr(r){return Ar(r)||xr(r)}sr(Fr,"isPrimitive",Ar),sr(Fr,"isObject",xr);var kr=void 0!==String.prototype.repeat;var Or=String.prototype.repeat;var Ir=kr?function(r,e){return Or.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Pr=Math.ceil;function Nr(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Pr(n),r+Ir(t,n))}var Rr=Math.ceil;function $r(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Rr(n),Ir(t,n)+r)}function Ur(r,e){if(!Ar(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!Sr(e))throw new TypeError(tr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return Ir(r,e)}function Cr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}function Gr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=Ur("1",8))+(n=Ur("0",23));if(r!=r)return t+(i=Ur("1",8))+(n="1"+Ur("0",22));if(0===r)return t+(i=Ur("0",8))+(n=Ur("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=Cr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Ar(n=t))throw new TypeError(tr("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>9007199254740991)throw new RangeError(tr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return $r(r,e,n)}(i=Cr(i+127),8,"0"),n=function(r,e,t){var n;if(!Ar(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!Sr(e))throw new TypeError(tr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Ar(n=t))throw new TypeError(tr("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>9007199254740991)throw new RangeError(tr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return Nr(r,e,n)}(n,23,"0").substring(0,23),t+i+n}export{Gr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index d168bec..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/symbol-ctor/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/main.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/main.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/main.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/string-base-repeat/lib/has_builtin.js","../node_modules/@stdlib/string-base-repeat/lib/builtin.js","../node_modules/@stdlib/string-base-repeat/lib/index.js","../node_modules/@stdlib/string-base-repeat/lib/main.js","../node_modules/@stdlib/string-base-repeat/lib/polyfill.js","../node_modules/@stdlib/string-base-right-pad/node_modules/@stdlib/math-base-special-ceil/lib/main.js","../node_modules/@stdlib/string-base-right-pad/lib/main.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/string-base-left-pad/node_modules/@stdlib/math-base-special-ceil/lib/main.js","../node_modules/@stdlib/string-base-left-pad/lib/main.js","../node_modules/@stdlib/string-repeat/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/main.js","../node_modules/@stdlib/string-right-pad/lib/main.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","isString","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","lpad","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","p","RangeError"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CAGnB,CAFC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAId,CAFC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAAS8D,EAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAI8D,EAAMjC,KAAKiC,IACXlB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Be,EAAUlB,OAAOzD,UAAU2E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcrB,GACtB,IAAIsB,EACAzE,EACA0E,EAAIC,WAAYxB,EAAMG,KAC1B,IAAME,SAAUkB,GAAM,CACrB,IAAM1C,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7D0E,EAAIvB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAM0E,EAAEE,cAAezB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAM0E,EAAEG,QAAS1B,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCM,EAAKW,GAAM,OACfD,EAAStB,EAAMM,WACD,IACbgB,GAAU,GAEXzE,EAAM0E,EAAEE,cAAeH,IAEvBzE,EAAM0E,EAAEI,YAAa3B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAMgE,EAAQ7D,KAAMH,EAAKuE,EAAoB,OAC7CvE,EAAMgE,EAAQ7D,KAAMH,EAAKsE,EAAoB,KAC7CtE,EAAMgE,EAAQ7D,KAAMH,EAAKqE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAInD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAMgE,EAAQ7D,KAAMH,EAAKiE,EAAmB,SAC5CjE,EAAMgE,EAAQ7D,KAAMH,EAAKkE,EAAmB,SACvCf,EAAMS,YACV5D,EAAMgE,EAAQ7D,KAAMH,EAAKmE,EAAgB,OACzCnE,EAAMgE,EAAQ7D,KAAMH,EAAKoE,EAAsB,SAE3CM,GAAK,GAAKvB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS+E,EAAQ7C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASgF,EAAU3C,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAM0C,EAAQtC,GACdsC,EAAQtC,GAAQJ,CAElB,CC5BA,IAAI4C,EAAenC,OAAOmC,aACtBC,EAAQC,MACRC,EAAUC,MAAMD,QAYpB,SAASE,EAAYnC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIuF,MAAQpC,EAAMoC,OAAS,GAC3BvF,EAAIwF,QAAUrC,EAAMqC,QACbxF,CACR,CAmBA,SAASyF,EAAmBC,GAC3B,IAAIC,EACAJ,EACApC,EACAyC,EACAC,EACA7F,EACA8F,EACA3D,EACA4D,EAEJ,IAAMX,EAASM,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFA1F,EAAM,GACN8F,EAAM,EACA3D,EAAI,EAAGA,EAAIuD,EAAOhD,OAAQP,IAE/B,GAAK2B,EADLX,EAAQuC,EAAQvD,IAEfnC,GAAOmD,MACD,CAGN,GAFAwC,OAAgC,IAApBxC,EAAMM,YAClBN,EAAQmC,EAAYnC,IACRE,UACX,MAAM,IAAI2C,UAAW,oEAAqE7D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMqC,UACVM,EAAM3C,EAAMqC,SAEbD,EAAQpC,EAAMoC,MACRQ,EAAI,EAAGA,EAAIR,EAAM7C,OAAQqD,IAE9B,OADAH,EAAOL,EAAM1B,OAAQkC,IAErB,IAAK,IACJ5C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM8C,UAAW,EACjB,MACD,IAAK,IACJ9C,EAAM8C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ/C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmB0E,GAGtC,GAAqB,MAAhBzC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAU4C,UAAWL,GAAO,IAC1CA,GAAO,EACFZ,EAAO/B,EAAMb,OACjB,MAAM,IAAI0D,UAAW,wCAA0CF,EAAM,6BAA+B3C,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKqD,GACqB,MAApBxC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU4C,UAAWL,GAAO,IAC9CA,GAAO,EACFZ,EAAO/B,EAAMM,WACjB,MAAM,IAAIuC,UAAW,4CAA8CF,EAAM,6BAA+B3C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBkC,GAAY,EAEb,CAGF,OADAxC,EAAMG,IAAM6C,UAAWL,GACd3C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECsC,IACJxC,EAAM8C,UAAW,GAElB9C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAMiD,SAAW,EAAgBjD,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMyB,EAAO/B,EAAMG,KAAQ,CAE1B,IADAuC,EAAMtC,SAAUJ,EAAMG,IAAK,KAChB,GAAKuC,EAAM,IACrB,MAAM,IAAI3E,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ4B,EAAOW,GACpB/C,OAAQK,EAAMG,KACd2B,EAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLxC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMkB,EAAcrB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAMiD,UAAY,GAAKjD,EAAMG,IAAIZ,OAASS,EAAMiD,WACpDjD,EAAMG,IAAMH,EAAMG,IAAI+C,UAAW,EAAGlD,EAAMiD,WAEtCjD,EAAM8C,SACV9C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,IAAM0B,EAAU7B,EAAMG,IAAKH,EAAMb,MAAOa,EAAMO,WAErD1D,GAAOmD,EAAMG,KAAO,GACpBwC,GAAO,CACP,CAEF,OAAO9F,CACR,CC3LA,IAAIsG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAIrD,EAAQ,CACXqC,QAAagB,EAAO,GAAQjD,SAAUiD,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChBlE,MAASkE,EAAO,GAChB/C,UAAa+C,EAAO,GACpBnD,UAAamD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCrD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASsD,GAAgBpE,GACxB,IAAIqE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMvE,GACTmE,IACPE,EAAUrE,EAAIwE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI9D,SACxCA,QACZgD,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMvE,GAMlB,OAJAqE,EAAUrE,EAAIwE,MAAOF,IACRjE,QACZgD,EAAOqB,KAAML,GAEPhB,CACR,CClDA,SAAS5B,GAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAAS+G,GAAQ3E,GAChB,IAAIqD,EACAuB,EACA9E,EAEJ,IAAM2B,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAKjG,IAHAqD,EAASwB,GAAU7E,IACnB4E,EAAO,IAAI5B,MAAOc,UAAUzD,SACtB,GAAMgD,EACNvD,EAAI,EAAGA,EAAI8E,EAAKvE,OAAQP,IAC7B8E,EAAM9E,GAAMgE,UAAWhE,GAExB,OAAOgF,EAAYC,MAAO,KAAMH,EACjC,CChCA,IAAII,GAAiBjI,OAAOC,UACxBF,GAAQkI,GAAe/H,SACvBgI,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA/F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGK2H,GACa9G,EDqBlB,SAAyB+G,EAAKC,EAAMC,GACnC,IAAI7I,EACA8I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB7I,GAAMgB,KAAM6H,GAC3D,MAAM,IAAIhC,UAAWgB,GAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B/I,GAAMgB,KAAM+H,GACzE,MAAM,IAAIlC,UAAWgB,GAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAavH,KAAM6H,EAAKC,IACxBL,GAAazH,KAAM6H,EAAKC,IAGxB5I,EAAY2I,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAWjI,MAGzB+H,EAAIM,UAAYjJ,GAEhB2I,EAAKC,GAASC,EAAWjI,OAG3BmI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAInH,MAAO,wHASlB,OANKkH,GAAUd,IACdA,GAAanH,KAAM6H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAarH,KAAM6H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAMhI,GAC7C8B,GAAgBiG,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZ3I,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDcUyI,CAAM5I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCoBA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICnBA,IAAIE,GAAexI,GAAOyI,kBClB1B,SAASC,GAAWlJ,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWuH,EDDXnJ,KCEamJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAET,CCLA,SAASkJ,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAAMqJ,UAEf,CCGA,SAASH,GAAWlJ,GACnB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCXA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,GAAS,CAEX,CCLA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,EAAMqJ,WAAa,CAErB,CCQA,SAASC,GAAsBtJ,GAC9B,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCtBA,SAAS6D,GAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCmCA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICAAC,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICpDA,IAAIO,GAAUxG,OAAOzD,UAAUiK,QCQ/B,IAAIvK,GAAMa,IAmBV,SAASkE,GAAU7D,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAqJ,GAAQnJ,KAAMF,IACP,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDaUyI,CAAM5I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAAS6D,GAAU7D,GAClB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCsBA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,IChBA,IC7BInI,QAA4C,IAA5BkC,OAAOzD,UAAUmK,OCArC,IAAIA,GAAS1G,OAAOzD,UAAUmK,OCmC9B,IAAApG,GATKqG,GCFL,SAAiBpH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIwH,EACAC,EACJ,GAAoB,IAAftH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAwH,EAAM,GACNC,EAAMzH,EAGY,IAAP,EAAJyH,KACLD,GAAOrH,GAIK,IADbsH,KAAS,IAKTtH,GAAOA,EAER,OAAOqH,CACR,EC1DIE,GAAO9H,KAAK8H,KCIhB,SAASC,GAAMxH,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHG,EAAMmH,GAAQ/G,EAAKP,GAC3B,CCJA,ICPI0H,GAAO9H,KAAK8H,KCIhB,SAASG,GAAM1H,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHsH,GAAQ/G,EAAKP,GAAMG,EAC3B,CCHA,SAASmH,GAAQnH,EAAKH,GACrB,IAAM4B,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBrH,GAC3B,MAAM,IAAI8D,UAAWgB,GAAQ,gFAAiF9E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAAS8H,GAAMZ,GAKd,IAJA,IACIa,EADA5H,EAAM,GAIF+G,EAAI,GAIV/G,GAHD4H,EAAIb,EAAI,MACRA,EAAIvH,EAAOoI,IAEJ,IAAM5H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC8BA,SAAS6H,GAAiBd,GACzB,IAAIe,EACAxG,EACAtB,EACA+H,EACAlI,EACAwC,EACAvC,EASJ,GALCwB,EADIyF,EAAI,GAAO,EAAIA,IAAMxH,EAClB,IAEA,IAGHwH,IAAMrI,GAAQqI,IAAMxH,EAIxB,OAAO+B,GAFPyG,EAAMZ,GAAQ,IA3EQ,KA4EtBnH,EAAMmH,GAAQ,IA7EW,KAiF1B,GAAKJ,GAAMA,EAIV,OAAOzF,GAFPyG,EAAMZ,GAAQ,IAlFQ,KAmFtBnH,EAAM,IAAMmH,GAAQ,IAAKa,KAI1B,GAAW,IAANjB,EAIJ,OAAOzF,GAFPyG,EAAMZ,GAAQ,IAzFQ,KA0FtBnH,EAAMmH,GAAQ,IA3FW,KA2G1B,GAPA9E,GANA0E,ECnFD,SAAcA,GACb,OAAOtH,KAAKiC,IAAKqF,EAClB,CDiFKrF,CAAKqF,KAGTlH,EAAIL,EAAOuH,IAMXlH,EAAI8H,GAAM9H,GACVwC,EElGD,SAAgB0E,GACf,IAAI/G,EACA4H,EACA9H,EACA4D,EAGJ,GADA1D,EAAM,GACK,IAAN+G,EACJ,OAAO/G,EAKR,IAHA0D,EA/Bc,IAkCR5D,EAAI,EAAGA,EAlCC,OAmCb8H,EAAQ,EAAJb,IACM,GACTA,EAAIa,EAAI,EACR5H,GAAO,IAtCK,MAuCP0D,IACJA,EAAI5D,KAGLiH,EAAIa,EACJ5H,GAAO,OAGG,IAAN4H,GAAa9H,EAAE4D,EA9CP,KAiCa5D,KAkB3B,OAAOE,CACR,CFkEKiI,CAAO5F,GAGNxC,EAEJkI,EAAMlI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIuC,EAAEhC,OAAQP,IAC1B,GAAgB,MAAXuC,EAAGvC,GAAc,CACrBgI,EAAQhI,EAAI,EACZ,KACA,CAGFiI,GAAOD,CACP,CAuBD,OArBA9H,EAAMH,EAAIwC,EACL0F,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTlI,EAAMA,EAAIgE,UAAW8D,IAGrB9H,EAAMA,EAAIgE,UAAW,GAItB+D,EIvHD,SAAe/H,EAAKyH,EAAKrH,GACxB,IAAI+H,EACJ,IAAM1G,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBO,GAC3B,MAAM,IAAI9D,UAAWgB,GAAQ,gFAAiF8C,IAE/G,GAAK3D,UAAUzD,OAAS,EAAI,CAE3B,IAAMoB,GADN0G,EAAI/H,GAEH,MAAM,IAAIuD,UAAWgB,GAAQ,kEAAmEwD,IAEjG,GAAkB,IAAbA,EAAE9H,OACN,MAAM,IAAI+H,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKV,ETvByB,iBSwB7B,MAAM,IAAIW,WAAYzD,GAAQ,6FAA8F8C,IAE7H,OAAO1G,GAAMf,EAAKyH,EAAKU,EACxB,CJgGOT,CADNK,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpC/H,EK1HD,SAAeA,EAAKyH,EAAKrH,GACxB,IAAI+H,EACJ,IAAM1G,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBO,GAC3B,MAAM,IAAI9D,UAAWgB,GAAQ,gFAAiF8C,IAE/G,GAAK3D,UAAUzD,OAAS,EAAI,CAE3B,IAAMoB,GADN0G,EAAI/H,GAEH,MAAM,IAAIuD,UAAWgB,GAAQ,kEAAmEwD,IAEjG,GAAkB,IAAbA,EAAE9H,OACN,MAAM,IAAI+H,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKV,ElBvByB,iBkBwB7B,MAAM,IAAIW,WAAYzD,GAAQ,6FAA8F8C,IAE7H,OAAO1G,GAAMf,EAAKyH,EAAKU,EACxB,CLmGOX,CAAMxH,EA5Ic,GA4Ia,KAAMgE,UAAW,EA5I9B,IA+InB1C,EAAOyG,EAAM/H,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index cf2ab83..0000000 --- a/stats.html +++ /dev/null @@ -1,6177 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From 45c75a040e7cc092aad291ed8a14864fadbb0ee1 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sat, 2 Dec 2023 05:07:03 +0000 Subject: [PATCH 086/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 49 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 797 --- .github/workflows/publish.yml | 255 - .github/workflows/test.yml | 100 - .github/workflows/test_bundles.yml | 189 - .github/workflows/test_coverage.yml | 128 - .github/workflows/test_install.yml | 86 - .gitignore | 188 - .npmignore | 227 - .npmrc | 28 - CHANGELOG.md | 5 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 42 +- benchmark/benchmark.js | 52 - branches.md | 53 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 6177 +++++++++++++++++++++ test/dist/test.js | 33 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 50 files changed, 6198 insertions(+), 4258 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 60d743f..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index 7239274..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2023-12-01T03:56:36.980Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index ab56cca..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index 3acd3a9..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA corresponding to v0.11.0 - uses: styfle/cancel-workflow-action@b173b6ec0100793626c2d9e6b90435061f4fc3e5 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index c1c45e7..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 6a6c18e..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA corresponding to v3.1.3 - uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA corresponding to v3.0.3: - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 265afda..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,797 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA corresponding to v2.0.0 - uses: act10ns/slack@ed1309ab9862e57e9e583e51c7889486b9a00b0f - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA corresponding to v4.1.0 - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 16 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index a8a9c60..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,33 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2023 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 main = require( './../../dist' ); - - -// TESTS // - -tape( 'main export is defined', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( main !== void 0, true, 'main export is defined' ); - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 05b5c1eb2900c0bb76b1f7ced5df187e1d014afb Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 1 Jan 2024 05:35:15 +0000 Subject: [PATCH 087/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 961c3e2..3f69682 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.1.1", "@stdlib/string-left-pad": "^0.1.1", "@stdlib/string-repeat": "^0.1.0", - "@stdlib/string-right-pad": "^0.1.1" + "@stdlib/string-right-pad": "^0.1.1", + "@stdlib/error-tools-fmtprodmsg": "^0.1.1" }, "devDependencies": { "@stdlib/assert-is-string": "^0.1.1", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From b6f54b747ae487adb684daff38f10c809680b24c Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 1 Jan 2024 12:05:40 +0000 Subject: [PATCH 088/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 6177 ---------------------------------------------------- 4 files changed, 6260 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 3b4f336..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 87e4ef5..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2023 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var l=Number.POSITIVE_INFINITY,s="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof s)return!1;try{e=new s([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===l}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,h="function"==typeof Uint32Array;var d="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof d)return!1;try{e=new d(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(h&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var A=Object.defineProperty;function V(r){return"number"==typeof r}function j(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=$.call(t,L,"$1e"),t=$.call(t,W,"e"),t=$.call(t,Z,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=$.call(t,U,"e+0$1"),t=$.call(t,C,"e-0$1"),r.alternate&&(t=$.call(t,G,"$1."),t=$.call(t,M,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===R.call(r.specifier)?R.call(t):N.call(t)}function Y(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=B(a)?String(n.arg):q(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=X(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=x(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=z(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var K=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Q(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function rr(r){var e,t,n,i;for(t=[],i=0,n=K.exec(r);n;)(e=r.slice(i,K.lastIndex-n[0].length)).length&&t.push(e),t.push(Q(n)),i=K.lastIndex,n=K.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function er(r){return"string"==typeof r}function tr(r){var e,t,n;if(!er(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=rr(r),(t=new Array(arguments.length))[0]=e,n=1;nyr&&_(e=r)===e;var e}function wr(r){return fr(r)&&mr(r)}function br(r){return dr(r)&&mr(r.valueOf())}function Er(r){return wr(r)||br(r)}function Sr(r){return wr(r)&&r>=0}function _r(r){return br(r)&&r.valueOf()>=0}function Tr(r){return Sr(r)||_r(r)}function Ar(r){return"string"==typeof r}sr(Er,"isPrimitive",wr),sr(Er,"isObject",br),sr(Tr,"isPrimitive",Sr),sr(Tr,"isObject",_r);var Vr=String.prototype.valueOf;var jr=e();function xr(r){return"object"==typeof r&&(r instanceof String||(jr?function(r){try{return Vr.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function Fr(r){return Ar(r)||xr(r)}sr(Fr,"isPrimitive",Ar),sr(Fr,"isObject",xr);var kr=void 0!==String.prototype.repeat;var Or=String.prototype.repeat;var Ir=kr?function(r,e){return Or.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Pr=Math.ceil;function Nr(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Pr(n),r+Ir(t,n))}var Rr=Math.ceil;function $r(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Rr(n),Ir(t,n)+r)}function Ur(r,e){if(!Ar(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!Sr(e))throw new TypeError(tr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return Ir(r,e)}function Cr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}function Gr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=Ur("1",8))+(n=Ur("0",23));if(r!=r)return t+(i=Ur("1",8))+(n="1"+Ur("0",22));if(0===r)return t+(i=Ur("0",8))+(n=Ur("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=Cr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Ar(n=t))throw new TypeError(tr("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>9007199254740991)throw new RangeError(tr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return $r(r,e,n)}(i=Cr(i+127),8,"0"),n=function(r,e,t){var n;if(!Ar(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!Sr(e))throw new TypeError(tr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Ar(n=t))throw new TypeError(tr("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>9007199254740991)throw new RangeError(tr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return Nr(r,e,n)}(n,23,"0").substring(0,23),t+i+n}export{Gr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index d168bec..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/symbol-ctor/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/main.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/main.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/main.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/string-base-repeat/lib/has_builtin.js","../node_modules/@stdlib/string-base-repeat/lib/builtin.js","../node_modules/@stdlib/string-base-repeat/lib/index.js","../node_modules/@stdlib/string-base-repeat/lib/main.js","../node_modules/@stdlib/string-base-repeat/lib/polyfill.js","../node_modules/@stdlib/string-base-right-pad/node_modules/@stdlib/math-base-special-ceil/lib/main.js","../node_modules/@stdlib/string-base-right-pad/lib/main.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/string-base-left-pad/node_modules/@stdlib/math-base-special-ceil/lib/main.js","../node_modules/@stdlib/string-base-left-pad/lib/main.js","../node_modules/@stdlib/string-repeat/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/main.js","../node_modules/@stdlib/string-right-pad/lib/main.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","isString","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","lpad","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","p","RangeError"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CAGnB,CAFC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAId,CAFC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAAS8D,EAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAI8D,EAAMjC,KAAKiC,IACXlB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Be,EAAUlB,OAAOzD,UAAU2E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcrB,GACtB,IAAIsB,EACAzE,EACA0E,EAAIC,WAAYxB,EAAMG,KAC1B,IAAME,SAAUkB,GAAM,CACrB,IAAM1C,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7D0E,EAAIvB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAM0E,EAAEE,cAAezB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAM0E,EAAEG,QAAS1B,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCM,EAAKW,GAAM,OACfD,EAAStB,EAAMM,WACD,IACbgB,GAAU,GAEXzE,EAAM0E,EAAEE,cAAeH,IAEvBzE,EAAM0E,EAAEI,YAAa3B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAMgE,EAAQ7D,KAAMH,EAAKuE,EAAoB,OAC7CvE,EAAMgE,EAAQ7D,KAAMH,EAAKsE,EAAoB,KAC7CtE,EAAMgE,EAAQ7D,KAAMH,EAAKqE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAInD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAMgE,EAAQ7D,KAAMH,EAAKiE,EAAmB,SAC5CjE,EAAMgE,EAAQ7D,KAAMH,EAAKkE,EAAmB,SACvCf,EAAMS,YACV5D,EAAMgE,EAAQ7D,KAAMH,EAAKmE,EAAgB,OACzCnE,EAAMgE,EAAQ7D,KAAMH,EAAKoE,EAAsB,SAE3CM,GAAK,GAAKvB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS+E,EAAQ7C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASgF,EAAU3C,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAM0C,EAAQtC,GACdsC,EAAQtC,GAAQJ,CAElB,CC5BA,IAAI4C,EAAenC,OAAOmC,aACtBC,EAAQC,MACRC,EAAUC,MAAMD,QAYpB,SAASE,EAAYnC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIuF,MAAQpC,EAAMoC,OAAS,GAC3BvF,EAAIwF,QAAUrC,EAAMqC,QACbxF,CACR,CAmBA,SAASyF,EAAmBC,GAC3B,IAAIC,EACAJ,EACApC,EACAyC,EACAC,EACA7F,EACA8F,EACA3D,EACA4D,EAEJ,IAAMX,EAASM,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFA1F,EAAM,GACN8F,EAAM,EACA3D,EAAI,EAAGA,EAAIuD,EAAOhD,OAAQP,IAE/B,GAAK2B,EADLX,EAAQuC,EAAQvD,IAEfnC,GAAOmD,MACD,CAGN,GAFAwC,OAAgC,IAApBxC,EAAMM,YAClBN,EAAQmC,EAAYnC,IACRE,UACX,MAAM,IAAI2C,UAAW,oEAAqE7D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMqC,UACVM,EAAM3C,EAAMqC,SAEbD,EAAQpC,EAAMoC,MACRQ,EAAI,EAAGA,EAAIR,EAAM7C,OAAQqD,IAE9B,OADAH,EAAOL,EAAM1B,OAAQkC,IAErB,IAAK,IACJ5C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM8C,UAAW,EACjB,MACD,IAAK,IACJ9C,EAAM8C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ/C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmB0E,GAGtC,GAAqB,MAAhBzC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAU4C,UAAWL,GAAO,IAC1CA,GAAO,EACFZ,EAAO/B,EAAMb,OACjB,MAAM,IAAI0D,UAAW,wCAA0CF,EAAM,6BAA+B3C,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKqD,GACqB,MAApBxC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU4C,UAAWL,GAAO,IAC9CA,GAAO,EACFZ,EAAO/B,EAAMM,WACjB,MAAM,IAAIuC,UAAW,4CAA8CF,EAAM,6BAA+B3C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBkC,GAAY,EAEb,CAGF,OADAxC,EAAMG,IAAM6C,UAAWL,GACd3C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECsC,IACJxC,EAAM8C,UAAW,GAElB9C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAMiD,SAAW,EAAgBjD,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMyB,EAAO/B,EAAMG,KAAQ,CAE1B,IADAuC,EAAMtC,SAAUJ,EAAMG,IAAK,KAChB,GAAKuC,EAAM,IACrB,MAAM,IAAI3E,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ4B,EAAOW,GACpB/C,OAAQK,EAAMG,KACd2B,EAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLxC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMkB,EAAcrB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAMiD,UAAY,GAAKjD,EAAMG,IAAIZ,OAASS,EAAMiD,WACpDjD,EAAMG,IAAMH,EAAMG,IAAI+C,UAAW,EAAGlD,EAAMiD,WAEtCjD,EAAM8C,SACV9C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,IAAM0B,EAAU7B,EAAMG,IAAKH,EAAMb,MAAOa,EAAMO,WAErD1D,GAAOmD,EAAMG,KAAO,GACpBwC,GAAO,CACP,CAEF,OAAO9F,CACR,CC3LA,IAAIsG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAIrD,EAAQ,CACXqC,QAAagB,EAAO,GAAQjD,SAAUiD,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChBlE,MAASkE,EAAO,GAChB/C,UAAa+C,EAAO,GACpBnD,UAAamD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCrD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASsD,GAAgBpE,GACxB,IAAIqE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMvE,GACTmE,IACPE,EAAUrE,EAAIwE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI9D,SACxCA,QACZgD,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMvE,GAMlB,OAJAqE,EAAUrE,EAAIwE,MAAOF,IACRjE,QACZgD,EAAOqB,KAAML,GAEPhB,CACR,CClDA,SAAS5B,GAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAAS+G,GAAQ3E,GAChB,IAAIqD,EACAuB,EACA9E,EAEJ,IAAM2B,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAKjG,IAHAqD,EAASwB,GAAU7E,IACnB4E,EAAO,IAAI5B,MAAOc,UAAUzD,SACtB,GAAMgD,EACNvD,EAAI,EAAGA,EAAI8E,EAAKvE,OAAQP,IAC7B8E,EAAM9E,GAAMgE,UAAWhE,GAExB,OAAOgF,EAAYC,MAAO,KAAMH,EACjC,CChCA,IAAII,GAAiBjI,OAAOC,UACxBF,GAAQkI,GAAe/H,SACvBgI,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA/F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGK2H,GACa9G,EDqBlB,SAAyB+G,EAAKC,EAAMC,GACnC,IAAI7I,EACA8I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB7I,GAAMgB,KAAM6H,GAC3D,MAAM,IAAIhC,UAAWgB,GAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B/I,GAAMgB,KAAM+H,GACzE,MAAM,IAAIlC,UAAWgB,GAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAavH,KAAM6H,EAAKC,IACxBL,GAAazH,KAAM6H,EAAKC,IAGxB5I,EAAY2I,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAWjI,MAGzB+H,EAAIM,UAAYjJ,GAEhB2I,EAAKC,GAASC,EAAWjI,OAG3BmI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAInH,MAAO,wHASlB,OANKkH,GAAUd,IACdA,GAAanH,KAAM6H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAarH,KAAM6H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAMhI,GAC7C8B,GAAgBiG,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZ3I,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDcUyI,CAAM5I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCoBA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICnBA,IAAIE,GAAexI,GAAOyI,kBClB1B,SAASC,GAAWlJ,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWuH,EDDXnJ,KCEamJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAET,CCLA,SAASkJ,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAAMqJ,UAEf,CCGA,SAASH,GAAWlJ,GACnB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCXA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,GAAS,CAEX,CCLA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,EAAMqJ,WAAa,CAErB,CCQA,SAASC,GAAsBtJ,GAC9B,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCtBA,SAAS6D,GAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCmCA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICAAC,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICpDA,IAAIO,GAAUxG,OAAOzD,UAAUiK,QCQ/B,IAAIvK,GAAMa,IAmBV,SAASkE,GAAU7D,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAqJ,GAAQnJ,KAAMF,IACP,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDaUyI,CAAM5I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAAS6D,GAAU7D,GAClB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCsBA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,IChBA,IC7BInI,QAA4C,IAA5BkC,OAAOzD,UAAUmK,OCArC,IAAIA,GAAS1G,OAAOzD,UAAUmK,OCmC9B,IAAApG,GATKqG,GCFL,SAAiBpH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIwH,EACAC,EACJ,GAAoB,IAAftH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAwH,EAAM,GACNC,EAAMzH,EAGY,IAAP,EAAJyH,KACLD,GAAOrH,GAIK,IADbsH,KAAS,IAKTtH,GAAOA,EAER,OAAOqH,CACR,EC1DIE,GAAO9H,KAAK8H,KCIhB,SAASC,GAAMxH,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHG,EAAMmH,GAAQ/G,EAAKP,GAC3B,CCJA,ICPI0H,GAAO9H,KAAK8H,KCIhB,SAASG,GAAM1H,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHsH,GAAQ/G,EAAKP,GAAMG,EAC3B,CCHA,SAASmH,GAAQnH,EAAKH,GACrB,IAAM4B,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBrH,GAC3B,MAAM,IAAI8D,UAAWgB,GAAQ,gFAAiF9E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAAS8H,GAAMZ,GAKd,IAJA,IACIa,EADA5H,EAAM,GAIF+G,EAAI,GAIV/G,GAHD4H,EAAIb,EAAI,MACRA,EAAIvH,EAAOoI,IAEJ,IAAM5H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC8BA,SAAS6H,GAAiBd,GACzB,IAAIe,EACAxG,EACAtB,EACA+H,EACAlI,EACAwC,EACAvC,EASJ,GALCwB,EADIyF,EAAI,GAAO,EAAIA,IAAMxH,EAClB,IAEA,IAGHwH,IAAMrI,GAAQqI,IAAMxH,EAIxB,OAAO+B,GAFPyG,EAAMZ,GAAQ,IA3EQ,KA4EtBnH,EAAMmH,GAAQ,IA7EW,KAiF1B,GAAKJ,GAAMA,EAIV,OAAOzF,GAFPyG,EAAMZ,GAAQ,IAlFQ,KAmFtBnH,EAAM,IAAMmH,GAAQ,IAAKa,KAI1B,GAAW,IAANjB,EAIJ,OAAOzF,GAFPyG,EAAMZ,GAAQ,IAzFQ,KA0FtBnH,EAAMmH,GAAQ,IA3FW,KA2G1B,GAPA9E,GANA0E,ECnFD,SAAcA,GACb,OAAOtH,KAAKiC,IAAKqF,EAClB,CDiFKrF,CAAKqF,KAGTlH,EAAIL,EAAOuH,IAMXlH,EAAI8H,GAAM9H,GACVwC,EElGD,SAAgB0E,GACf,IAAI/G,EACA4H,EACA9H,EACA4D,EAGJ,GADA1D,EAAM,GACK,IAAN+G,EACJ,OAAO/G,EAKR,IAHA0D,EA/Bc,IAkCR5D,EAAI,EAAGA,EAlCC,OAmCb8H,EAAQ,EAAJb,IACM,GACTA,EAAIa,EAAI,EACR5H,GAAO,IAtCK,MAuCP0D,IACJA,EAAI5D,KAGLiH,EAAIa,EACJ5H,GAAO,OAGG,IAAN4H,GAAa9H,EAAE4D,EA9CP,KAiCa5D,KAkB3B,OAAOE,CACR,CFkEKiI,CAAO5F,GAGNxC,EAEJkI,EAAMlI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIuC,EAAEhC,OAAQP,IAC1B,GAAgB,MAAXuC,EAAGvC,GAAc,CACrBgI,EAAQhI,EAAI,EACZ,KACA,CAGFiI,GAAOD,CACP,CAuBD,OArBA9H,EAAMH,EAAIwC,EACL0F,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTlI,EAAMA,EAAIgE,UAAW8D,IAGrB9H,EAAMA,EAAIgE,UAAW,GAItB+D,EIvHD,SAAe/H,EAAKyH,EAAKrH,GACxB,IAAI+H,EACJ,IAAM1G,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBO,GAC3B,MAAM,IAAI9D,UAAWgB,GAAQ,gFAAiF8C,IAE/G,GAAK3D,UAAUzD,OAAS,EAAI,CAE3B,IAAMoB,GADN0G,EAAI/H,GAEH,MAAM,IAAIuD,UAAWgB,GAAQ,kEAAmEwD,IAEjG,GAAkB,IAAbA,EAAE9H,OACN,MAAM,IAAI+H,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKV,ETvByB,iBSwB7B,MAAM,IAAIW,WAAYzD,GAAQ,6FAA8F8C,IAE7H,OAAO1G,GAAMf,EAAKyH,EAAKU,EACxB,CJgGOT,CADNK,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpC/H,EK1HD,SAAeA,EAAKyH,EAAKrH,GACxB,IAAI+H,EACJ,IAAM1G,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBO,GAC3B,MAAM,IAAI9D,UAAWgB,GAAQ,gFAAiF8C,IAE/G,GAAK3D,UAAUzD,OAAS,EAAI,CAE3B,IAAMoB,GADN0G,EAAI/H,GAEH,MAAM,IAAIuD,UAAWgB,GAAQ,kEAAmEwD,IAEjG,GAAkB,IAAbA,EAAE9H,OACN,MAAM,IAAI+H,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKV,ElBvByB,iBkBwB7B,MAAM,IAAIW,WAAYzD,GAAQ,6FAA8F8C,IAE7H,OAAO1G,GAAMf,EAAKyH,EAAKU,EACxB,CLmGOX,CAAMxH,EA5Ic,GA4Ia,KAAMgE,UAAW,EA5I9B,IA+InB1C,EAAOyG,EAAM/H,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index 6327f4e..0000000 --- a/stats.html +++ /dev/null @@ -1,6177 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From e97f2cd3fed09127d342e531589551785bcee09c Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 1 Jan 2024 12:06:06 +0000 Subject: [PATCH 089/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 49 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 797 --- .github/workflows/publish.yml | 255 - .github/workflows/test.yml | 100 - .github/workflows/test_bundles.yml | 189 - .github/workflows/test_coverage.yml | 128 - .github/workflows/test_install.yml | 86 - .gitignore | 188 - .npmignore | 228 - .npmrc | 28 - CHANGELOG.md | 5 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 42 +- SECURITY.md | 5 - benchmark/benchmark.js | 52 - branches.md | 53 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 6177 +++++++++++++++++++++ test/dist/test.js | 33 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 51 files changed, 6198 insertions(+), 4264 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 SECURITY.md delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 60d743f..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index 7bb572c..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2024-01-01T03:25:57.244Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 30656c4..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index 3acd3a9..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA corresponding to v0.11.0 - uses: styfle/cancel-workflow-action@b173b6ec0100793626c2d9e6b90435061f4fc3e5 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index c92f5c4..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index ee79ddb..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 20 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA corresponding to v3.1.3 - uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 # v3.0.3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index e1e3539..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,797 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 20 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA corresponding to v2.0.0 - uses: act10ns/slack@ed1309ab9862e57e9e583e51c7889486b9a00b0f - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index a8a9c60..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,33 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2023 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 main = require( './../../dist' ); - - -// TESTS // - -tape( 'main export is defined', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( main !== void 0, true, 'main export is defined' ); - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 018d4dd8991cd436835bb03942341489e2310187 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 1 Feb 2024 06:06:42 +0000 Subject: [PATCH 090/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 961c3e2..3f69682 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.1.1", "@stdlib/string-left-pad": "^0.1.1", "@stdlib/string-repeat": "^0.1.0", - "@stdlib/string-right-pad": "^0.1.1" + "@stdlib/string-right-pad": "^0.1.1", + "@stdlib/error-tools-fmtprodmsg": "^0.1.1" }, "devDependencies": { "@stdlib/assert-is-string": "^0.1.1", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From 325596c1cb0a45f6d38a6f8c10cb6199c5dbf7bd Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 1 Feb 2024 11:37:06 +0000 Subject: [PATCH 091/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 6177 ---------------------------------------------------- 4 files changed, 6260 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 3b4f336..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( `@stdlib/number/float64/base/to-float32` ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( `@stdlib/constants/float32/pinf` ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( `@stdlib/constants/float32/ninf` ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index fe6f005..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2024 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var l=Number.POSITIVE_INFINITY,s="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof s)return!1;try{e=new s([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===l}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,h="function"==typeof Uint32Array;var d="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof d)return!1;try{e=new d(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(h&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var A=Object.defineProperty;function V(r){return"number"==typeof r}function j(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=$.call(t,L,"$1e"),t=$.call(t,W,"e"),t=$.call(t,M,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=$.call(t,U,"e+0$1"),t=$.call(t,C,"e-0$1"),r.alternate&&(t=$.call(t,G,"$1."),t=$.call(t,Z,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===R.call(r.specifier)?R.call(t):N.call(t)}function Y(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=B(a)?String(n.arg):q(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=X(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=x(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=z(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var K=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Q(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function rr(r){var e,t,n,i;for(t=[],i=0,n=K.exec(r);n;)(e=r.slice(i,K.lastIndex-n[0].length)).length&&t.push(e),t.push(Q(n)),i=K.lastIndex,n=K.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function er(r){return"string"==typeof r}function tr(r){var e,t,n;if(!er(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=rr(r),(t=new Array(arguments.length))[0]=e,n=1;nyr&&_(e=r)===e;var e}function wr(r){return fr(r)&&mr(r)}function br(r){return dr(r)&&mr(r.valueOf())}function Er(r){return wr(r)||br(r)}function Sr(r){return wr(r)&&r>=0}function _r(r){return br(r)&&r.valueOf()>=0}function Tr(r){return Sr(r)||_r(r)}function Ar(r){return"string"==typeof r}sr(Er,"isPrimitive",wr),sr(Er,"isObject",br),sr(Tr,"isPrimitive",Sr),sr(Tr,"isObject",_r);var Vr=String.prototype.valueOf;var jr=e();function xr(r){return"object"==typeof r&&(r instanceof String||(jr?function(r){try{return Vr.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function Fr(r){return Ar(r)||xr(r)}sr(Fr,"isPrimitive",Ar),sr(Fr,"isObject",xr);var kr=void 0!==String.prototype.repeat;var Or=String.prototype.repeat;var Ir=kr?function(r,e){return Or.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Pr=Math.ceil;function Nr(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Pr(n),r+Ir(t,n))}function Rr(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Pr(n),Ir(t,n)+r)}function $r(r,e){if(!Ar(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!Sr(e))throw new TypeError(tr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return Ir(r,e)}function Ur(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}function Cr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=$r("1",8))+(n=$r("0",23));if(r!=r)return t+(i=$r("1",8))+(n="1"+$r("0",22));if(0===r)return t+(i=$r("0",8))+(n=$r("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=Ur(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Ar(n=t))throw new TypeError(tr("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>9007199254740991)throw new RangeError(tr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return Rr(r,e,n)}(i=Ur(i+127),8,"0"),n=function(r,e,t){var n;if(!Ar(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!Sr(e))throw new TypeError(tr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Ar(n=t))throw new TypeError(tr("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>9007199254740991)throw new RangeError(tr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return Nr(r,e,n)}(n,23,"0").substring(0,23),t+i+n}export{Cr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 7c5d139..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/symbol-ctor/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/main.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/main.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/main.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/string-base-repeat/lib/has_builtin.js","../node_modules/@stdlib/string-base-repeat/lib/builtin.js","../node_modules/@stdlib/string-base-repeat/lib/index.js","../node_modules/@stdlib/string-base-repeat/lib/main.js","../node_modules/@stdlib/string-base-repeat/lib/polyfill.js","../node_modules/@stdlib/math-base-special-ceil/lib/main.js","../node_modules/@stdlib/string-base-right-pad/lib/main.js","../node_modules/@stdlib/string-base-left-pad/lib/main.js","../node_modules/@stdlib/string-repeat/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/main.js","../node_modules/@stdlib/string-right-pad/lib/main.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","isString","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","lpad","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","p","RangeError"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CAGnB,CAFC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAId,CAFC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAAS8D,EAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAI8D,EAAMjC,KAAKiC,IACXlB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Be,EAAUlB,OAAOzD,UAAU2E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcrB,GACtB,IAAIsB,EACAzE,EACA0E,EAAIC,WAAYxB,EAAMG,KAC1B,IAAME,SAAUkB,GAAM,CACrB,IAAM1C,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7D0E,EAAIvB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAM0E,EAAEE,cAAezB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAM0E,EAAEG,QAAS1B,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCM,EAAKW,GAAM,OACfD,EAAStB,EAAMM,WACD,IACbgB,GAAU,GAEXzE,EAAM0E,EAAEE,cAAeH,IAEvBzE,EAAM0E,EAAEI,YAAa3B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAMgE,EAAQ7D,KAAMH,EAAKuE,EAAoB,OAC7CvE,EAAMgE,EAAQ7D,KAAMH,EAAKsE,EAAoB,KAC7CtE,EAAMgE,EAAQ7D,KAAMH,EAAKqE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAInD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAMgE,EAAQ7D,KAAMH,EAAKiE,EAAmB,SAC5CjE,EAAMgE,EAAQ7D,KAAMH,EAAKkE,EAAmB,SACvCf,EAAMS,YACV5D,EAAMgE,EAAQ7D,KAAMH,EAAKmE,EAAgB,OACzCnE,EAAMgE,EAAQ7D,KAAMH,EAAKoE,EAAsB,SAE3CM,GAAK,GAAKvB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS+E,EAAQ7C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASgF,EAAU3C,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAM0C,EAAQtC,GACdsC,EAAQtC,GAAQJ,CAElB,CC5BA,IAAI4C,EAAenC,OAAOmC,aACtBC,EAAQC,MACRC,EAAUC,MAAMD,QAYpB,SAASE,EAAYnC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIuF,MAAQpC,EAAMoC,OAAS,GAC3BvF,EAAIwF,QAAUrC,EAAMqC,QACbxF,CACR,CAmBA,SAASyF,EAAmBC,GAC3B,IAAIC,EACAJ,EACApC,EACAyC,EACAC,EACA7F,EACA8F,EACA3D,EACA4D,EAEJ,IAAMX,EAASM,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFA1F,EAAM,GACN8F,EAAM,EACA3D,EAAI,EAAGA,EAAIuD,EAAOhD,OAAQP,IAE/B,GAAK2B,EADLX,EAAQuC,EAAQvD,IAEfnC,GAAOmD,MACD,CAGN,GAFAwC,OAAgC,IAApBxC,EAAMM,YAClBN,EAAQmC,EAAYnC,IACRE,UACX,MAAM,IAAI2C,UAAW,oEAAqE7D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMqC,UACVM,EAAM3C,EAAMqC,SAEbD,EAAQpC,EAAMoC,MACRQ,EAAI,EAAGA,EAAIR,EAAM7C,OAAQqD,IAE9B,OADAH,EAAOL,EAAM1B,OAAQkC,IAErB,IAAK,IACJ5C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM8C,UAAW,EACjB,MACD,IAAK,IACJ9C,EAAM8C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ/C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmB0E,GAGtC,GAAqB,MAAhBzC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAU4C,UAAWL,GAAO,IAC1CA,GAAO,EACFZ,EAAO/B,EAAMb,OACjB,MAAM,IAAI0D,UAAW,wCAA0CF,EAAM,6BAA+B3C,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKqD,GACqB,MAApBxC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU4C,UAAWL,GAAO,IAC9CA,GAAO,EACFZ,EAAO/B,EAAMM,WACjB,MAAM,IAAIuC,UAAW,4CAA8CF,EAAM,6BAA+B3C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBkC,GAAY,EAEb,CAGF,OADAxC,EAAMG,IAAM6C,UAAWL,GACd3C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECsC,IACJxC,EAAM8C,UAAW,GAElB9C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAMiD,SAAW,EAAgBjD,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMyB,EAAO/B,EAAMG,KAAQ,CAE1B,IADAuC,EAAMtC,SAAUJ,EAAMG,IAAK,KAChB,GAAKuC,EAAM,IACrB,MAAM,IAAI3E,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ4B,EAAOW,GACpB/C,OAAQK,EAAMG,KACd2B,EAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLxC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMkB,EAAcrB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAMiD,UAAY,GAAKjD,EAAMG,IAAIZ,OAASS,EAAMiD,WACpDjD,EAAMG,IAAMH,EAAMG,IAAI+C,UAAW,EAAGlD,EAAMiD,WAEtCjD,EAAM8C,SACV9C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,IAAM0B,EAAU7B,EAAMG,IAAKH,EAAMb,MAAOa,EAAMO,WAErD1D,GAAOmD,EAAMG,KAAO,GACpBwC,GAAO,CACP,CAEF,OAAO9F,CACR,CC3LA,IAAIsG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAIrD,EAAQ,CACXqC,QAAagB,EAAO,GAAQjD,SAAUiD,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChBlE,MAASkE,EAAO,GAChB/C,UAAa+C,EAAO,GACpBnD,UAAamD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCrD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASsD,GAAgBpE,GACxB,IAAIqE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMvE,GACTmE,IACPE,EAAUrE,EAAIwE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI9D,SACxCA,QACZgD,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMvE,GAMlB,OAJAqE,EAAUrE,EAAIwE,MAAOF,IACRjE,QACZgD,EAAOqB,KAAML,GAEPhB,CACR,CClDA,SAAS5B,GAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAAS+G,GAAQ3E,GAChB,IAAIqD,EACAuB,EACA9E,EAEJ,IAAM2B,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAKjG,IAHAqD,EAASwB,GAAU7E,IACnB4E,EAAO,IAAI5B,MAAOc,UAAUzD,SACtB,GAAMgD,EACNvD,EAAI,EAAGA,EAAI8E,EAAKvE,OAAQP,IAC7B8E,EAAM9E,GAAMgE,UAAWhE,GAExB,OAAOgF,EAAYC,MAAO,KAAMH,EACjC,CChCA,IAAII,GAAiBjI,OAAOC,UACxBF,GAAQkI,GAAe/H,SACvBgI,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA/F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGK2H,GACa9G,EDqBlB,SAAyB+G,EAAKC,EAAMC,GACnC,IAAI7I,EACA8I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB7I,GAAMgB,KAAM6H,GAC3D,MAAM,IAAIhC,UAAWgB,GAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B/I,GAAMgB,KAAM+H,GACzE,MAAM,IAAIlC,UAAWgB,GAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAavH,KAAM6H,EAAKC,IACxBL,GAAazH,KAAM6H,EAAKC,IAGxB5I,EAAY2I,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAWjI,MAGzB+H,EAAIM,UAAYjJ,GAEhB2I,EAAKC,GAASC,EAAWjI,OAG3BmI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAInH,MAAO,wHASlB,OANKkH,GAAUd,IACdA,GAAanH,KAAM6H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAarH,KAAM6H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAMhI,GAC7C8B,GAAgBiG,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZ3I,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDcUyI,CAAM5I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCoBA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICnBA,IAAIE,GAAexI,GAAOyI,kBClB1B,SAASC,GAAWlJ,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWuH,EDDXnJ,KCEamJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAET,CCLA,SAASkJ,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAAMqJ,UAEf,CCGA,SAASH,GAAWlJ,GACnB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCXA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,GAAS,CAEX,CCLA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,EAAMqJ,WAAa,CAErB,CCQA,SAASC,GAAsBtJ,GAC9B,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCtBA,SAAS6D,GAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCmCA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICAAC,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICpDA,IAAIO,GAAUxG,OAAOzD,UAAUiK,QCQ/B,IAAIvK,GAAMa,IAmBV,SAASkE,GAAU7D,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAqJ,GAAQnJ,KAAMF,IACP,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDaUyI,CAAM5I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAAS6D,GAAU7D,GAClB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCsBA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,IChBA,IC7BInI,QAA4C,IAA5BkC,OAAOzD,UAAUmK,OCArC,IAAIA,GAAS1G,OAAOzD,UAAUmK,OCmC9B,IAAApG,GATKqG,GCFL,SAAiBpH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIwH,EACAC,EACJ,GAAoB,IAAftH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAwH,EAAM,GACNC,EAAMzH,EAGY,IAAP,EAAJyH,KACLD,GAAOrH,GAIK,IADbsH,KAAS,IAKTtH,GAAOA,EAER,OAAOqH,CACR,EC1DIE,GAAO9H,KAAK8H,KCIhB,SAASC,GAAMxH,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHG,EAAMmH,GAAQ/G,EAAKP,GAC3B,CCPA,SAAS6H,GAAM1H,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHsH,GAAQ/G,EAAKP,GAAMG,EAC3B,CCHA,SAASmH,GAAQnH,EAAKH,GACrB,IAAM4B,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBrH,GAC3B,MAAM,IAAI8D,UAAWgB,GAAQ,gFAAiF9E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAAS8H,GAAMZ,GAKd,IAJA,IACIa,EADA5H,EAAM,GAIF+G,EAAI,GAIV/G,GAHD4H,EAAIb,EAAI,MACRA,EAAIvH,EAAOoI,IAEJ,IAAM5H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC8BA,SAAS6H,GAAiBd,GACzB,IAAIe,EACAxG,EACAtB,EACA+H,EACAlI,EACAwC,EACAvC,EASJ,GALCwB,EADIyF,EAAI,GAAO,EAAIA,IAAMxH,EAClB,IAEA,IAGHwH,IAAMrI,GAAQqI,IAAMxH,EAIxB,OAAO+B,GAFPyG,EAAMZ,GAAQ,IA3EQ,KA4EtBnH,EAAMmH,GAAQ,IA7EW,KAiF1B,GAAKJ,GAAMA,EAIV,OAAOzF,GAFPyG,EAAMZ,GAAQ,IAlFQ,KAmFtBnH,EAAM,IAAMmH,GAAQ,IAAKa,KAI1B,GAAW,IAANjB,EAIJ,OAAOzF,GAFPyG,EAAMZ,GAAQ,IAzFQ,KA0FtBnH,EAAMmH,GAAQ,IA3FW,KA2G1B,GAPA9E,GANA0E,ECnFD,SAAcA,GACb,OAAOtH,KAAKiC,IAAKqF,EAClB,CDiFKrF,CAAKqF,KAGTlH,EAAIL,EAAOuH,IAMXlH,EAAI8H,GAAM9H,GACVwC,EElGD,SAAgB0E,GACf,IAAI/G,EACA4H,EACA9H,EACA4D,EAGJ,GADA1D,EAAM,GACK,IAAN+G,EACJ,OAAO/G,EAKR,IAHA0D,EA/Bc,IAkCR5D,EAAI,EAAGA,EAlCC,OAmCb8H,EAAQ,EAAJb,IACM,GACTA,EAAIa,EAAI,EACR5H,GAAO,IAtCK,MAuCP0D,IACJA,EAAI5D,KAGLiH,EAAIa,EACJ5H,GAAO,OAGG,IAAN4H,GAAa9H,EAAE4D,EA9CP,KAiCa5D,KAkB3B,OAAOE,CACR,CFkEKiI,CAAO5F,GAGNxC,EAEJkI,EAAMlI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIuC,EAAEhC,OAAQP,IAC1B,GAAgB,MAAXuC,EAAGvC,GAAc,CACrBgI,EAAQhI,EAAI,EACZ,KACA,CAGFiI,GAAOD,CACP,CAuBD,OArBA9H,EAAMH,EAAIwC,EACL0F,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTlI,EAAMA,EAAIgE,UAAW8D,IAGrB9H,EAAMA,EAAIgE,UAAW,GAItB+D,EIvHD,SAAe/H,EAAKyH,EAAKrH,GACxB,IAAI+H,EACJ,IAAM1G,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBO,GAC3B,MAAM,IAAI9D,UAAWgB,GAAQ,gFAAiF8C,IAE/G,GAAK3D,UAAUzD,OAAS,EAAI,CAE3B,IAAMoB,GADN0G,EAAI/H,GAEH,MAAM,IAAIuD,UAAWgB,GAAQ,kEAAmEwD,IAEjG,GAAkB,IAAbA,EAAE9H,OACN,MAAM,IAAI+H,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKV,EfvByB,iBewB7B,MAAM,IAAIW,WAAYzD,GAAQ,6FAA8F8C,IAE7H,OAAO1G,GAAMf,EAAKyH,EAAKU,EACxB,CJgGOT,CADNK,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpC/H,EK1HD,SAAeA,EAAKyH,EAAKrH,GACxB,IAAI+H,EACJ,IAAM1G,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBO,GAC3B,MAAM,IAAI9D,UAAWgB,GAAQ,gFAAiF8C,IAE/G,GAAK3D,UAAUzD,OAAS,EAAI,CAE3B,IAAMoB,GADN0G,EAAI/H,GAEH,MAAM,IAAIuD,UAAWgB,GAAQ,kEAAmEwD,IAEjG,GAAkB,IAAbA,EAAE9H,OACN,MAAM,IAAI+H,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKV,EhBvByB,iBgBwB7B,MAAM,IAAIW,WAAYzD,GAAQ,6FAA8F8C,IAE7H,OAAO1G,GAAMf,EAAKyH,EAAKU,EACxB,CLmGOX,CAAMxH,EA5Ic,GA4Ia,KAAMgE,UAAW,EA5I9B,IA+InB1C,EAAOyG,EAAM/H,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index c0dce1f..0000000 --- a/stats.html +++ /dev/null @@ -1,6177 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From 2ce19034536aaa29412579026624f8ca02453270 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 1 Feb 2024 11:37:23 +0000 Subject: [PATCH 092/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 49 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 797 --- .github/workflows/publish.yml | 255 - .github/workflows/test.yml | 100 - .github/workflows/test_bundles.yml | 189 - .github/workflows/test_coverage.yml | 128 - .github/workflows/test_install.yml | 86 - .gitignore | 188 - .npmignore | 228 - .npmrc | 28 - CHANGELOG.md | 5 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 44 +- SECURITY.md | 5 - benchmark/benchmark.js | 52 - branches.md | 56 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 6177 +++++++++++++++++++++ test/dist/test.js | 33 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 51 files changed, 6198 insertions(+), 4269 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 SECURITY.md delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 60d743f..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index ba13eb2..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2024-02-01T04:07:37.677Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 30656c4..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index 3acd3a9..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA corresponding to v0.11.0 - uses: styfle/cancel-workflow-action@b173b6ec0100793626c2d9e6b90435061f4fc3e5 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index c92f5c4..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index ee79ddb..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 20 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA corresponding to v3.1.3 - uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 # v3.0.3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index e1e3539..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,797 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 20 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA corresponding to v2.0.0 - uses: act10ns/slack@ed1309ab9862e57e9e583e51c7889486b9a00b0f - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA corresponding to v3.8.1 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index a8a9c60..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,33 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2023 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 main = require( './../../dist' ); - - -// TESTS // - -tape( 'main export is defined', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( main !== void 0, true, 'main export is defined' ); - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From ed8966188e40335764105f4945a7aac2d9684254 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Wed, 14 Feb 2024 11:32:58 +0000 Subject: [PATCH 093/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 7677b1f..5e14a24 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.2.0", "@stdlib/string-left-pad": "^0.2.0", "@stdlib/string-repeat": "^0.2.0", - "@stdlib/string-right-pad": "^0.2.0" + "@stdlib/string-right-pad": "^0.2.0", + "@stdlib/error-tools-fmtprodmsg": "^0.2.0" }, "devDependencies": { "@stdlib/assert-is-string": "^0.1.1", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From fd9e8f810a5c6bee55949c58114990ebac0ffe5f Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Wed, 14 Feb 2024 19:22:20 +0000 Subject: [PATCH 094/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 6177 ---------------------------------------------------- 4 files changed, 6260 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 84d9489..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( '@stdlib/constants-float32-pinf' ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( '@stdlib/constants-float32-ninf' ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index fe6f005..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2024 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var l=Number.POSITIVE_INFINITY,s="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof s)return!1;try{e=new s([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===l}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,h="function"==typeof Uint32Array;var d="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof d)return!1;try{e=new d(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(h&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var A=Object.defineProperty;function V(r){return"number"==typeof r}function j(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=$.call(t,L,"$1e"),t=$.call(t,W,"e"),t=$.call(t,M,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=$.call(t,U,"e+0$1"),t=$.call(t,C,"e-0$1"),r.alternate&&(t=$.call(t,G,"$1."),t=$.call(t,Z,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===R.call(r.specifier)?R.call(t):N.call(t)}function Y(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=B(a)?String(n.arg):q(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=X(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=x(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=z(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var K=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function Q(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function rr(r){var e,t,n,i;for(t=[],i=0,n=K.exec(r);n;)(e=r.slice(i,K.lastIndex-n[0].length)).length&&t.push(e),t.push(Q(n)),i=K.lastIndex,n=K.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function er(r){return"string"==typeof r}function tr(r){var e,t,n;if(!er(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=rr(r),(t=new Array(arguments.length))[0]=e,n=1;nyr&&_(e=r)===e;var e}function wr(r){return fr(r)&&mr(r)}function br(r){return dr(r)&&mr(r.valueOf())}function Er(r){return wr(r)||br(r)}function Sr(r){return wr(r)&&r>=0}function _r(r){return br(r)&&r.valueOf()>=0}function Tr(r){return Sr(r)||_r(r)}function Ar(r){return"string"==typeof r}sr(Er,"isPrimitive",wr),sr(Er,"isObject",br),sr(Tr,"isPrimitive",Sr),sr(Tr,"isObject",_r);var Vr=String.prototype.valueOf;var jr=e();function xr(r){return"object"==typeof r&&(r instanceof String||(jr?function(r){try{return Vr.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function Fr(r){return Ar(r)||xr(r)}sr(Fr,"isPrimitive",Ar),sr(Fr,"isObject",xr);var kr=void 0!==String.prototype.repeat;var Or=String.prototype.repeat;var Ir=kr?function(r,e){return Or.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Pr=Math.ceil;function Nr(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Pr(n),r+Ir(t,n))}function Rr(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Pr(n),Ir(t,n)+r)}function $r(r,e){if(!Ar(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!Sr(e))throw new TypeError(tr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return Ir(r,e)}function Ur(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}function Cr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=$r("1",8))+(n=$r("0",23));if(r!=r)return t+(i=$r("1",8))+(n="1"+$r("0",22));if(0===r)return t+(i=$r("0",8))+(n=$r("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=Ur(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=149,n=0;n<149&&((t=2*r)>=1?(r=t-1,e+="1",149===i&&(i=n)):(r=t,e+="0"),!(1===t||n-i>24));n++);return e}(o),a)i=a.length-1;else{for(u=0;u2){if(!Ar(n=t))throw new TypeError(tr("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>9007199254740991)throw new RangeError(tr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return Rr(r,e,n)}(i=Ur(i+127),8,"0"),n=function(r,e,t){var n;if(!Ar(r))throw new TypeError(tr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!Sr(e))throw new TypeError(tr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Ar(n=t))throw new TypeError(tr("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>9007199254740991)throw new RangeError(tr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return Nr(r,e,n)}(n,23,"0").substring(0,23),t+i+n}export{Cr as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 7c5d139..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/symbol-ctor/lib/main.js","../node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/utils-native-class/lib/main.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/main.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/main.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/number-ctor/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/string-base-repeat/lib/has_builtin.js","../node_modules/@stdlib/string-base-repeat/lib/builtin.js","../node_modules/@stdlib/string-base-repeat/lib/index.js","../node_modules/@stdlib/string-base-repeat/lib/main.js","../node_modules/@stdlib/string-base-repeat/lib/polyfill.js","../node_modules/@stdlib/math-base-special-ceil/lib/main.js","../node_modules/@stdlib/string-base-right-pad/lib/main.js","../node_modules/@stdlib/string-base-left-pad/lib/main.js","../node_modules/@stdlib/string-repeat/lib/main.js","../lib/div2.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/main.js","../node_modules/@stdlib/string-right-pad/lib/main.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar tokens;\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\ttokens = tokenize( str );\n\targs = new Array( arguments.length );\n\targs[ 0 ] = tokens;\n\tfor ( i = 1; i < args.length; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","isString","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","lpad","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","p","RangeError"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CAGnB,CAFC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAId,CAFC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAAS8D,EAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAI8D,EAAMjC,KAAKiC,IACXlB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Be,EAAUlB,OAAOzD,UAAU2E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcrB,GACtB,IAAIsB,EACAzE,EACA0E,EAAIC,WAAYxB,EAAMG,KAC1B,IAAME,SAAUkB,GAAM,CACrB,IAAM1C,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7D0E,EAAIvB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAM0E,EAAEE,cAAezB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAM0E,EAAEG,QAAS1B,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCM,EAAKW,GAAM,OACfD,EAAStB,EAAMM,WACD,IACbgB,GAAU,GAEXzE,EAAM0E,EAAEE,cAAeH,IAEvBzE,EAAM0E,EAAEI,YAAa3B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAMgE,EAAQ7D,KAAMH,EAAKuE,EAAoB,OAC7CvE,EAAMgE,EAAQ7D,KAAMH,EAAKsE,EAAoB,KAC7CtE,EAAMgE,EAAQ7D,KAAMH,EAAKqE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAInD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAMgE,EAAQ7D,KAAMH,EAAKiE,EAAmB,SAC5CjE,EAAMgE,EAAQ7D,KAAMH,EAAKkE,EAAmB,SACvCf,EAAMS,YACV5D,EAAMgE,EAAQ7D,KAAMH,EAAKmE,EAAgB,OACzCnE,EAAMgE,EAAQ7D,KAAMH,EAAKoE,EAAsB,SAE3CM,GAAK,GAAKvB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS+E,EAAQ7C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASgF,EAAU3C,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAM0C,EAAQtC,GACdsC,EAAQtC,GAAQJ,CAElB,CC5BA,IAAI4C,EAAenC,OAAOmC,aACtBC,EAAQC,MACRC,EAAUC,MAAMD,QAYpB,SAASE,EAAYnC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIuF,MAAQpC,EAAMoC,OAAS,GAC3BvF,EAAIwF,QAAUrC,EAAMqC,QACbxF,CACR,CAmBA,SAASyF,EAAmBC,GAC3B,IAAIC,EACAJ,EACApC,EACAyC,EACAC,EACA7F,EACA8F,EACA3D,EACA4D,EAEJ,IAAMX,EAASM,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFA1F,EAAM,GACN8F,EAAM,EACA3D,EAAI,EAAGA,EAAIuD,EAAOhD,OAAQP,IAE/B,GAAK2B,EADLX,EAAQuC,EAAQvD,IAEfnC,GAAOmD,MACD,CAGN,GAFAwC,OAAgC,IAApBxC,EAAMM,YAClBN,EAAQmC,EAAYnC,IACRE,UACX,MAAM,IAAI2C,UAAW,oEAAqE7D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMqC,UACVM,EAAM3C,EAAMqC,SAEbD,EAAQpC,EAAMoC,MACRQ,EAAI,EAAGA,EAAIR,EAAM7C,OAAQqD,IAE9B,OADAH,EAAOL,EAAM1B,OAAQkC,IAErB,IAAK,IACJ5C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM8C,UAAW,EACjB,MACD,IAAK,IACJ9C,EAAM8C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ/C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmB0E,GAGtC,GAAqB,MAAhBzC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAU4C,UAAWL,GAAO,IAC1CA,GAAO,EACFZ,EAAO/B,EAAMb,OACjB,MAAM,IAAI0D,UAAW,wCAA0CF,EAAM,6BAA+B3C,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKqD,GACqB,MAApBxC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU4C,UAAWL,GAAO,IAC9CA,GAAO,EACFZ,EAAO/B,EAAMM,WACjB,MAAM,IAAIuC,UAAW,4CAA8CF,EAAM,6BAA+B3C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBkC,GAAY,EAEb,CAGF,OADAxC,EAAMG,IAAM6C,UAAWL,GACd3C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECsC,IACJxC,EAAM8C,UAAW,GAElB9C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAMiD,SAAW,EAAgBjD,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMyB,EAAO/B,EAAMG,KAAQ,CAE1B,IADAuC,EAAMtC,SAAUJ,EAAMG,IAAK,KAChB,GAAKuC,EAAM,IACrB,MAAM,IAAI3E,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ4B,EAAOW,GACpB/C,OAAQK,EAAMG,KACd2B,EAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLxC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMkB,EAAcrB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAMiD,UAAY,GAAKjD,EAAMG,IAAIZ,OAASS,EAAMiD,WACpDjD,EAAMG,IAAMH,EAAMG,IAAI+C,UAAW,EAAGlD,EAAMiD,WAEtCjD,EAAM8C,SACV9C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,IAAM0B,EAAU7B,EAAMG,IAAKH,EAAMb,MAAOa,EAAMO,WAErD1D,GAAOmD,EAAMG,KAAO,GACpBwC,GAAO,CACP,CAEF,OAAO9F,CACR,CC3LA,IAAIsG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAIrD,EAAQ,CACXqC,QAAagB,EAAO,GAAQjD,SAAUiD,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChBlE,MAASkE,EAAO,GAChB/C,UAAa+C,EAAO,GACpBnD,UAAamD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCrD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASsD,GAAgBpE,GACxB,IAAIqE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMvE,GACTmE,IACPE,EAAUrE,EAAIwE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI9D,SACxCA,QACZgD,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMvE,GAMlB,OAJAqE,EAAUrE,EAAIwE,MAAOF,IACRjE,QACZgD,EAAOqB,KAAML,GAEPhB,CACR,CClDA,SAAS5B,GAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAAS+G,GAAQ3E,GAChB,IAAIqD,EACAuB,EACA9E,EAEJ,IAAM2B,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAKjG,IAHAqD,EAASwB,GAAU7E,IACnB4E,EAAO,IAAI5B,MAAOc,UAAUzD,SACtB,GAAMgD,EACNvD,EAAI,EAAGA,EAAI8E,EAAKvE,OAAQP,IAC7B8E,EAAM9E,GAAMgE,UAAWhE,GAExB,OAAOgF,EAAYC,MAAO,KAAMH,EACjC,CChCA,IAAII,GAAiBjI,OAAOC,UACxBF,GAAQkI,GAAe/H,SACvBgI,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA/F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGK2H,GACa9G,EDqBlB,SAAyB+G,EAAKC,EAAMC,GACnC,IAAI7I,EACA8I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB7I,GAAMgB,KAAM6H,GAC3D,MAAM,IAAIhC,UAAWgB,GAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B/I,GAAMgB,KAAM+H,GACzE,MAAM,IAAIlC,UAAWgB,GAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAavH,KAAM6H,EAAKC,IACxBL,GAAazH,KAAM6H,EAAKC,IAGxB5I,EAAY2I,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAWjI,MAGzB+H,EAAIM,UAAYjJ,GAEhB2I,EAAKC,GAASC,EAAWjI,OAG3BmI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAInH,MAAO,wHASlB,OANKkH,GAAUd,IACdA,GAAanH,KAAM6H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAarH,KAAM6H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAMhI,GAC7C8B,GAAgBiG,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZ3I,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDcUyI,CAAM5I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCoBA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICnBA,IAAIE,GAAexI,GAAOyI,kBClB1B,SAASC,GAAWlJ,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWuH,EDDXnJ,KCEamJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAET,CCLA,SAASkJ,GAAWlJ,GACnB,OACC+B,GAAU/B,IACVoJ,GAAOpJ,EAAMqJ,UAEf,CCGA,SAASH,GAAWlJ,GACnB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCXA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,GAAS,CAEX,CCLA,SAASsJ,GAAsBtJ,GAC9B,OACCkJ,GAAWlJ,IACXA,EAAMqJ,WAAa,CAErB,CCQA,SAASC,GAAsBtJ,GAC9B,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCtBA,SAAS6D,GAAU7D,GAClB,MAA0B,iBAAVA,CACjB,CCmCA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICAAC,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,ICpDA,IAAIO,GAAUxG,OAAOzD,UAAUiK,QCQ/B,IAAIvK,GAAMa,IAmBV,SAASkE,GAAU7D,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAqJ,GAAQnJ,KAAMF,IACP,CAGP,CAFC,MAAQG,GACT,OAAO,CACP,CACF,CDaUyI,CAAM5I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAAS6D,GAAU7D,GAClB,OAAS6I,GAAa7I,IAAW8I,GAAU9I,EAC5C,CCsBA+I,GAAAvJ,GAAA,cAAAqJ,IACAE,GAAAvJ,GAAA,WAAAsJ,IChBA,IC7BInI,QAA4C,IAA5BkC,OAAOzD,UAAUmK,OCArC,IAAIA,GAAS1G,OAAOzD,UAAUmK,OCmC9B,IAAApG,GATKqG,GCFL,SAAiBpH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIwH,EACAC,EACJ,GAAoB,IAAftH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAwH,EAAM,GACNC,EAAMzH,EAGY,IAAP,EAAJyH,KACLD,GAAOrH,GAIK,IADbsH,KAAS,IAKTtH,GAAOA,EAER,OAAOqH,CACR,EC1DIE,GAAO9H,KAAK8H,KCIhB,SAASC,GAAMxH,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHG,EAAMmH,GAAQ/G,EAAKP,GAC3B,CCPA,SAAS6H,GAAM1H,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHsH,GAAQ/G,EAAKP,GAAMG,EAC3B,CCHA,SAASmH,GAAQnH,EAAKH,GACrB,IAAM4B,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBrH,GAC3B,MAAM,IAAI8D,UAAWgB,GAAQ,gFAAiF9E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAAS8H,GAAMZ,GAKd,IAJA,IACIa,EADA5H,EAAM,GAIF+G,EAAI,GAIV/G,GAHD4H,EAAIb,EAAI,MACRA,EAAIvH,EAAOoI,IAEJ,IAAM5H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC8BA,SAAS6H,GAAiBd,GACzB,IAAIe,EACAxG,EACAtB,EACA+H,EACAlI,EACAwC,EACAvC,EASJ,GALCwB,EADIyF,EAAI,GAAO,EAAIA,IAAMxH,EAClB,IAEA,IAGHwH,IAAMrI,GAAQqI,IAAMxH,EAIxB,OAAO+B,GAFPyG,EAAMZ,GAAQ,IA3EQ,KA4EtBnH,EAAMmH,GAAQ,IA7EW,KAiF1B,GAAKJ,GAAMA,EAIV,OAAOzF,GAFPyG,EAAMZ,GAAQ,IAlFQ,KAmFtBnH,EAAM,IAAMmH,GAAQ,IAAKa,KAI1B,GAAW,IAANjB,EAIJ,OAAOzF,GAFPyG,EAAMZ,GAAQ,IAzFQ,KA0FtBnH,EAAMmH,GAAQ,IA3FW,KA2G1B,GAPA9E,GANA0E,ECnFD,SAAcA,GACb,OAAOtH,KAAKiC,IAAKqF,EAClB,CDiFKrF,CAAKqF,KAGTlH,EAAIL,EAAOuH,IAMXlH,EAAI8H,GAAM9H,GACVwC,EElGD,SAAgB0E,GACf,IAAI/G,EACA4H,EACA9H,EACA4D,EAGJ,GADA1D,EAAM,GACK,IAAN+G,EACJ,OAAO/G,EAKR,IAHA0D,EA/Bc,IAkCR5D,EAAI,EAAGA,EAlCC,OAmCb8H,EAAQ,EAAJb,IACM,GACTA,EAAIa,EAAI,EACR5H,GAAO,IAtCK,MAuCP0D,IACJA,EAAI5D,KAGLiH,EAAIa,EACJ5H,GAAO,OAGG,IAAN4H,GAAa9H,EAAE4D,EA9CP,KAiCa5D,KAkB3B,OAAOE,CACR,CFkEKiI,CAAO5F,GAGNxC,EAEJkI,EAAMlI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIuC,EAAEhC,OAAQP,IAC1B,GAAgB,MAAXuC,EAAGvC,GAAc,CACrBgI,EAAQhI,EAAI,EACZ,KACA,CAGFiI,GAAOD,CACP,CAuBD,OArBA9H,EAAMH,EAAIwC,EACL0F,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTlI,EAAMA,EAAIgE,UAAW8D,IAGrB9H,EAAMA,EAAIgE,UAAW,GAItB+D,EIvHD,SAAe/H,EAAKyH,EAAKrH,GACxB,IAAI+H,EACJ,IAAM1G,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBO,GAC3B,MAAM,IAAI9D,UAAWgB,GAAQ,gFAAiF8C,IAE/G,GAAK3D,UAAUzD,OAAS,EAAI,CAE3B,IAAMoB,GADN0G,EAAI/H,GAEH,MAAM,IAAIuD,UAAWgB,GAAQ,kEAAmEwD,IAEjG,GAAkB,IAAbA,EAAE9H,OACN,MAAM,IAAI+H,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKV,EfvByB,iBewB7B,MAAM,IAAIW,WAAYzD,GAAQ,6FAA8F8C,IAE7H,OAAO1G,GAAMf,EAAKyH,EAAKU,EACxB,CJgGOT,CADNK,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpC/H,EK1HD,SAAeA,EAAKyH,EAAKrH,GACxB,IAAI+H,EACJ,IAAM1G,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMkH,GAAsBO,GAC3B,MAAM,IAAI9D,UAAWgB,GAAQ,gFAAiF8C,IAE/G,GAAK3D,UAAUzD,OAAS,EAAI,CAE3B,IAAMoB,GADN0G,EAAI/H,GAEH,MAAM,IAAIuD,UAAWgB,GAAQ,kEAAmEwD,IAEjG,GAAkB,IAAbA,EAAE9H,OACN,MAAM,IAAI+H,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKV,EhBvByB,iBgBwB7B,MAAM,IAAIW,WAAYzD,GAAQ,6FAA8F8C,IAE7H,OAAO1G,GAAMf,EAAKyH,EAAKU,EACxB,CLmGOX,CAAMxH,EA5Ic,GA4Ia,KAAMgE,UAAW,EA5I9B,IA+InB1C,EAAOyG,EAAM/H,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index f050adf..0000000 --- a/stats.html +++ /dev/null @@ -1,6177 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From 09c078572ab21dfb79e031b8c814af7ac6693b8a Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Wed, 14 Feb 2024 19:23:29 +0000 Subject: [PATCH 095/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 49 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 797 --- .github/workflows/publish.yml | 255 - .github/workflows/test.yml | 100 - .github/workflows/test_bundles.yml | 189 - .github/workflows/test_coverage.yml | 132 - .github/workflows/test_install.yml | 86 - .gitignore | 188 - .npmignore | 228 - .npmrc | 28 - CHANGELOG.md | 5 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 44 +- SECURITY.md | 5 - benchmark/benchmark.js | 52 - branches.md | 56 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 6177 +++++++++++++++++++++ test/dist/test.js | 33 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 50 files changed, 6198 insertions(+), 4272 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 SECURITY.md delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 60d743f..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index e4f10fe..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index b5291db..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # v0.12.1 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 2984901..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index 2a10e63..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA corresponding to v3.1.3 - uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 # v3.0.3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 9106b5d..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,797 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 -r sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA corresponding to v2.0.0 - uses: act10ns/slack@ed1309ab9862e57e9e583e51c7889486b9a00b0f - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index a8a9c60..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,33 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2023 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 main = require( './../../dist' ); - - -// TESTS // - -tape( 'main export is defined', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( main !== void 0, true, 'main export is defined' ); - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From c70d643a963890fca038f66cf67afaea290836db Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Wed, 14 Feb 2024 21:45:20 +0000 Subject: [PATCH 096/146] Update README.md for Deno bundle v0.2.0 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9bcd5a9..0ff80a9 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ limitations under the License. ## Usage ```javascript -import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@v0.2.0-deno/mod.js'; ``` #### toBinaryStringf( x ) @@ -111,7 +111,7 @@ import randu from 'https://cdn.jsdelivr.net/gh/stdlib-js/random-base-randu@deno/ import round from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-round@deno/mod.js'; import pow from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-pow@deno/mod.js'; import float64ToFloat32 from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float64-base-to-float32@deno/mod.js'; -import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@v0.2.0-deno/mod.js'; var frac; var sign; From 090ad942a35c27166b4ff01df210b095a75b859b Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Wed, 14 Feb 2024 21:45:21 +0000 Subject: [PATCH 097/146] Auto-generated commit --- README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0ff80a9..ca171d3 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,11 @@ limitations under the License. ## Usage +```javascript +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; +``` +The previous example will load the latest bundled code from the deno branch. Alternatively, you may load a specific version by loading the file from one of the [tagged bundles](https://github.com/stdlib-js/number-float32-base-to-binary-string/tags). For example, + ```javascript import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@v0.2.0-deno/mod.js'; ``` @@ -111,7 +116,7 @@ import randu from 'https://cdn.jsdelivr.net/gh/stdlib-js/random-base-randu@deno/ import round from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-round@deno/mod.js'; import pow from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-pow@deno/mod.js'; import float64ToFloat32 from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float64-base-to-float32@deno/mod.js'; -import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@v0.2.0-deno/mod.js'; +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; var frac; var sign; From 7640d81d74bc9620e74183d4d2e15a31fe8c2945 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sat, 24 Feb 2024 21:35:04 +0000 Subject: [PATCH 098/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 8f98d77..e8e7ad1 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.2.1", "@stdlib/string-left-pad": "^0.2.1", "@stdlib/string-repeat": "^0.2.1", - "@stdlib/string-right-pad": "^0.2.1" + "@stdlib/string-right-pad": "^0.2.1", + "@stdlib/error-tools-fmtprodmsg": "^0.2.1" }, "devDependencies": { "@stdlib/assert-is-string": "^0.2.1", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From 761f214aeb1d646fa281679735b75a026ee2e905 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 25 Feb 2024 02:09:28 +0000 Subject: [PATCH 099/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 6177 ---------------------------------------------------- 4 files changed, 6260 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 84d9489..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( '@stdlib/constants-float32-pinf' ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( '@stdlib/constants-float32-ninf' ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index df4faa2..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2024 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -function r(){return"function"==typeof Symbol&&"symbol"==typeof Symbol("foo")}var t=r();var e=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;function i(r,t){return null!=r&&n.call(r,t)}var a,o="function"==typeof Symbol?Symbol:void 0,u="function"==typeof o?o.toStringTag:"";a=t&&"symbol"==typeof Symbol.toStringTag?function(r){var t,n,a;if(null==r)return e.call(r);n=r[u],t=i(r,u);try{r[u]=void 0}catch(t){return e.call(r)}return a=e.call(r),t?r[u]=n:delete r[u],a}:function(r){return e.call(r)};var c=a,l="function"==typeof Float32Array;var f=Number.POSITIVE_INFINITY,s="function"==typeof Float32Array?Float32Array:null;var p,g="function"==typeof Float32Array?Float32Array:void 0;p=function(){var r,t,e;if("function"!=typeof s)return!1;try{t=new s([1,3.14,-3.14,5e40]),e=t,r=(l&&e instanceof Float32Array||"[object Float32Array]"===c(e))&&1===t[0]&&3.140000104904175===t[1]&&-3.140000104904175===t[2]&&t[3]===f}catch(t){r=!1}return r}()?g:function(){throw new Error("not implemented")};var v=p,y=r();var b=Object.prototype.toString;var d,m="function"==typeof Symbol?Symbol:void 0,h="function"==typeof m?m.toStringTag:"";d=y&&"symbol"==typeof Symbol.toStringTag?function(r){var t,e,n;if(null==r)return b.call(r);e=r[h],t=i(r,h);try{r[h]=void 0}catch(t){return b.call(r)}return n=b.call(r),t?r[h]=e:delete r[h],n}:function(r){return b.call(r)};var w=d,S="function"==typeof Uint32Array;var j="function"==typeof Uint32Array?Uint32Array:null;var E,T="function"==typeof Uint32Array?Uint32Array:void 0;E=function(){var r,t,e;if("function"!=typeof j)return!1;try{t=new j(t=[1,3.14,-3.14,4294967296,4294967297]),e=t,r=(S&&e instanceof Uint32Array||"[object Uint32Array]"===w(e))&&1===t[0]&&3===t[1]&&4294967293===t[2]&&0===t[3]&&1===t[4]}catch(t){r=!1}return r}()?T:function(){throw new Error("not implemented")};var O=E,_=new v(1);new O(_.buffer)[0]=2139095040;var V=_[0],x=new v(1);new O(x.buffer)[0]=4286578688;var A=x[0];var F=Math.floor,k="function"==typeof Object.defineProperty?Object.defineProperty:null;var I=Object.defineProperty;function P(r){return"number"==typeof r}function N(r){var t,e="";for(t=0;t0&&(t-=1),e=n.toExponential(t)):e=n.toPrecision(r.precision),r.alternate||(e=L.call(e,H,"$1e"),e=L.call(e,D,"e"),e=L.call(e,B,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return e=L.call(e,X,"e+0$1"),e=L.call(e,Y,"e-0$1"),r.alternate&&(e=L.call(e,z,"$1."),e=L.call(e,q,"$1.e")),n>=0&&r.sign&&(e=r.sign+e),e=r.specifier===W.call(r.specifier)?W.call(e):Z.call(e)}function K(r){var t,e="";for(t=0;t127)throw new Error("invalid character code. Value: "+n.arg);n.arg=tr(a)?String(n.arg):rr(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":t||(n.precision=6),n.arg=J(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=R(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=Q(n.arg,n.width,n.padRight)),o+=n.arg||"",u+=1}return o}var ar=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function or(r){var t={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(t.precision="1"),t}function ur(r){var t,e,n,i;for(e=[],i=0,n=ar.exec(r);n;)(t=r.slice(i,ar.lastIndex-n[0].length)).length&&e.push(t),e.push(or(n)),i=ar.lastIndex,n=ar.exec(r);return(t=r.slice(i)).length&&e.push(t),e}function cr(r){return"string"==typeof r}function lr(r){var t,e;if(!cr(r))throw new TypeError(lr("invalid argument. First argument must be a string. Value: `%s`.",r));for(t=[ur(r)],e=1;ePr&&F(t=r)===t;var t}function Rr(r){return wr(r)&&Nr(r)}function $r(r){return kr(r)&&Nr(r.valueOf())}function Ur(r){return Rr(r)||$r(r)}function Cr(r){return Rr(r)&&r>=0}function Gr(r){return $r(r)&&r.valueOf()>=0}function Mr(r){return Cr(r)||Gr(r)}function Zr(r){return"string"==typeof r}mr(Ur,"isPrimitive",Rr),mr(Ur,"isObject",$r),dr(Mr,"isPrimitive",Cr),dr(Mr,"isObject",Gr);var Wr=r();function Lr(){return Wr&&"symbol"==typeof Symbol.toStringTag}var Xr=Object.prototype.toString;var Yr,zr="function"==typeof Symbol?Symbol:void 0,qr="function"==typeof zr?zr.toStringTag:"";Yr=Lr()?function(r){var t,e,n;if(null==r)return Xr.call(r);e=r[qr],t=i(r,qr);try{r[qr]=void 0}catch(t){return Xr.call(r)}return n=Xr.call(r),t?r[qr]=e:delete r[qr],n}:function(r){return Xr.call(r)};var Br=Yr,Dr=String.prototype.valueOf;var Hr=Lr();function Jr(r){return"object"==typeof r&&(r instanceof String||(Hr?function(r){try{return Dr.call(r),!0}catch(r){return!1}}(r):"[object String]"===Br(r)))}function Kr(r){return Zr(r)||Jr(r)}dr(Kr,"isPrimitive",Zr),dr(Kr,"isObject",Jr);var Qr=void 0!==String.prototype.repeat;var rt=String.prototype.repeat;var tt=Qr?function(r,t){return rt.call(r,t)}:function(r,t){var e,n;if(0===r.length||0===t)return"";for(e="",n=t;1==(1&n)&&(e+=r),0!=(n>>>=1);)r+=r;return e},et=Math.ceil;function nt(r,t,e){var n=(t-r.length)/e.length;return n<=0?r:(n=et(n),r+tt(e,n))}function it(r,t,e){br(r,t,{configurable:!1,enumerable:!1,writable:!1,value:e})}function at(r){return Rr(r)&&r>=0}function ot(r){return $r(r)&&r.valueOf()>=0}function ut(r){return at(r)||ot(r)}function ct(r){return"string"==typeof r}it(ut,"isPrimitive",at),it(ut,"isObject",ot);var lt=r();function ft(){return lt&&"symbol"==typeof Symbol.toStringTag}var st=Object.prototype.toString;var pt,gt="function"==typeof Symbol?Symbol:void 0,vt="function"==typeof gt?gt.toStringTag:"";pt=ft()?function(r){var t,e,n;if(null==r)return st.call(r);e=r[vt],t=i(r,vt);try{r[vt]=void 0}catch(t){return st.call(r)}return n=st.call(r),t?r[vt]=e:delete r[vt],n}:function(r){return st.call(r)};var yt=pt,bt=String.prototype.valueOf;var dt=ft();function mt(r){return"object"==typeof r&&(r instanceof String||(dt?function(r){try{return bt.call(r),!0}catch(r){return!1}}(r):"[object String]"===yt(r)))}function ht(r){return ct(r)||mt(r)}it(ht,"isPrimitive",ct),it(ht,"isObject",mt);var wt=Math.ceil;function St(r,t,e){var n=(t-r.length)/e.length;return n<=0?r:(n=wt(n),tt(e,n)+r)}function jt(r,t,e){br(r,t,{configurable:!1,enumerable:!1,writable:!1,value:e})}function Et(r){return Rr(r)&&r>=0}function Tt(r){return $r(r)&&r.valueOf()>=0}function Ot(r){return Et(r)||Tt(r)}function _t(r){return"string"==typeof r}jt(Ot,"isPrimitive",Et),jt(Ot,"isObject",Tt);var Vt=r();function xt(){return Vt&&"symbol"==typeof Symbol.toStringTag}var At=Object.prototype.toString;var Ft,kt="function"==typeof Symbol?Symbol:void 0,It="function"==typeof kt?kt.toStringTag:"";Ft=xt()?function(r){var t,e,n;if(null==r)return At.call(r);e=r[It],t=i(r,It);try{r[It]=void 0}catch(t){return At.call(r)}return n=At.call(r),t?r[It]=e:delete r[It],n}:function(r){return At.call(r)};var Pt=Ft,Nt=String.prototype.valueOf;var Rt=xt();function $t(r){return"object"==typeof r&&(r instanceof String||(Rt?function(r){try{return Nt.call(r),!0}catch(r){return!1}}(r):"[object String]"===Pt(r)))}function Ut(r){return _t(r)||$t(r)}function Ct(r,t){if(!_t(r))throw new TypeError(lr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!Et(t))throw new TypeError(lr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",t));return tt(r,t)}function Gt(r){for(var t,e="";r>0;)e=(t=r/2)===(r=F(t))?"0"+e:"1"+e;return e}jt(Ut,"isPrimitive",_t),jt(Ut,"isObject",$t);function Mt(r){var t,e,n,i,a,o,u;if(e=r<0||1/r===A?"1":"0",r===V||r===A)return e+(i=Ct("1",8))+(n=Ct("0",23));if(r!=r)return e+(i=Ct("1",8))+(n="1"+Ct("0",22));if(0===r)return e+(i=Ct("0",8))+(n=Ct("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=F(r)),a=Gt(a),o=function(r){var t,e,n,i;if(t="",0===r)return t;for(i=149,n=0;n<149&&((e=2*r)>=1?(r=e-1,t+="1",149===i&&(i=n)):(r=e,t+="0"),!(1===e||n-i>24));n++);return t}(o),a)i=a.length-1;else{for(u=0;u2){if(!ct(n=e))throw new TypeError(lr("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(t>9007199254740991)throw new RangeError(lr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",t));return St(r,t,n)}(i=Gt(i+127),8,"0"),n=function(r,t,e){var n;if(!Zr(r))throw new TypeError(lr("invalid argument. First argument must be a string. Value: `%s`.",r));if(!Cr(t))throw new TypeError(lr("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",t));if(arguments.length>2){if(!Zr(n=e))throw new TypeError(lr("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(t>9007199254740991)throw new RangeError(lr("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",t));return nt(r,t,n)}(n,23,"0").substring(0,23),e+i+n}export{Mt as default}; -//# sourceMappingURL=mod.js.map diff --git a/mod.js.map b/mod.js.map deleted file mode 100644 index 306d6c9..0000000 --- a/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["../node_modules/@stdlib/assert-has-symbol-support/lib/main.js","../node_modules/@stdlib/assert-is-float32array/node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-is-float32array/node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-has-own-property/lib/main.js","../node_modules/@stdlib/assert-is-float32array/node_modules/@stdlib/symbol-ctor/lib/main.js","../node_modules/@stdlib/assert-is-float32array/node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/assert-is-float32array/node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/assert-is-float32array/node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/assert-is-float32array/node_modules/@stdlib/utils-native-class/lib/main.js","../node_modules/@stdlib/assert-is-float32array/lib/main.js","../node_modules/@stdlib/constants-float64-pinf/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/float32array.js","../node_modules/@stdlib/array-float32/lib/main.js","../node_modules/@stdlib/array-float32/lib/index.js","../node_modules/@stdlib/assert-has-float32array-support/lib/main.js","../node_modules/@stdlib/array-float32/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-is-uint32array/node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-is-uint32array/node_modules/@stdlib/symbol-ctor/lib/main.js","../node_modules/@stdlib/assert-is-uint32array/node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/assert-is-uint32array/node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/assert-is-uint32array/node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/assert-is-uint32array/node_modules/@stdlib/utils-native-class/lib/main.js","../node_modules/@stdlib/assert-is-uint32array/lib/main.js","../node_modules/@stdlib/constants-uint32-max/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/uint32array.js","../node_modules/@stdlib/array-uint32/lib/main.js","../node_modules/@stdlib/array-uint32/lib/index.js","../node_modules/@stdlib/assert-has-uint32array-support/lib/main.js","../node_modules/@stdlib/array-uint32/lib/polyfill.js","../node_modules/@stdlib/constants-float32-pinf/lib/index.js","../node_modules/@stdlib/constants-float32-ninf/lib/index.js","../node_modules/@stdlib/math-base-special-floor/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/define_property.js","../node_modules/@stdlib/utils-define-property/lib/builtin.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js","../node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js","../node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js","../node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js","../node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js","../node_modules/@stdlib/string-base-format-interpolate/lib/main.js","../node_modules/@stdlib/string-base-format-tokenize/lib/main.js","../node_modules/@stdlib/string-format/lib/is_string.js","../node_modules/@stdlib/string-format/lib/main.js","../node_modules/@stdlib/utils-define-property/lib/polyfill.js","../node_modules/@stdlib/utils-define-property/lib/index.js","../node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-integer/node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/primitive.js","../node_modules/@stdlib/assert-is-number/node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/assert-is-number/node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/assert-is-number/node_modules/@stdlib/symbol-ctor/lib/main.js","../node_modules/@stdlib/assert-is-number/node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/assert-is-number/node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/assert-is-number/node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/assert-is-number/node_modules/@stdlib/utils-native-class/lib/main.js","../node_modules/@stdlib/number-ctor/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/tostring.js","../node_modules/@stdlib/assert-is-number/lib/object.js","../node_modules/@stdlib/assert-is-number/lib/try2serialize.js","../node_modules/@stdlib/assert-is-number/lib/main.js","../node_modules/@stdlib/assert-is-number/lib/index.js","../node_modules/@stdlib/constants-float64-ninf/lib/index.js","../node_modules/@stdlib/assert-is-integer/lib/integer.js","../node_modules/@stdlib/math-base-assert-is-integer/lib/main.js","../node_modules/@stdlib/assert-is-integer/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/object.js","../node_modules/@stdlib/assert-is-integer/lib/main.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/assert-is-integer/lib/index.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/symbol-ctor/lib/main.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/utils-native-class/lib/main.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-right-pad/node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/string-base-repeat/lib/has_builtin.js","../node_modules/@stdlib/string-base-repeat/lib/builtin.js","../node_modules/@stdlib/string-base-repeat/lib/index.js","../node_modules/@stdlib/string-base-repeat/lib/main.js","../node_modules/@stdlib/string-base-repeat/lib/polyfill.js","../node_modules/@stdlib/string-base-right-pad/node_modules/@stdlib/math-base-special-ceil/lib/main.js","../node_modules/@stdlib/string-base-right-pad/lib/main.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/symbol-ctor/lib/main.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/utils-native-class/lib/main.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/assert-is-string/lib/index.js","../node_modules/@stdlib/string-left-pad/node_modules/@stdlib/constants-float64-max-safe-integer/lib/index.js","../node_modules/@stdlib/string-base-left-pad/node_modules/@stdlib/math-base-special-ceil/lib/main.js","../node_modules/@stdlib/string-base-left-pad/lib/main.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/assert-is-nonnegative-integer/lib/primitive.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/assert-is-nonnegative-integer/lib/object.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/assert-is-nonnegative-integer/lib/main.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/assert-is-string/lib/primitive.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/assert-is-nonnegative-integer/lib/index.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/utils-native-class/lib/tostring.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/symbol-ctor/lib/main.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/utils-native-class/lib/index.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/utils-native-class/lib/tostringtag.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/utils-native-class/lib/polyfill.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/utils-native-class/lib/main.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/assert-is-string/lib/valueof.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/assert-is-string/lib/object.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/assert-is-string/lib/try2valueof.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/assert-is-string/lib/main.js","../node_modules/@stdlib/string-repeat/lib/main.js","../lib/div2.js","../node_modules/@stdlib/string-repeat/node_modules/@stdlib/assert-is-string/lib/index.js","../lib/main.js","../node_modules/@stdlib/math-base-special-abs/lib/main.js","../lib/mult2.js","../node_modules/@stdlib/constants-float32-exponent-bias/lib/index.js","../node_modules/@stdlib/string-left-pad/lib/main.js","../node_modules/@stdlib/string-right-pad/lib/main.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\targs = [ tokenize( str ) ];\n\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\targs.push( arguments[ i ] );\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasSymbols from '@stdlib/assert-has-symbol-support';\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n"],"names":["hasSymbolSupport","Symbol","FLG","hasSymbols","toStr","Object","prototype","toString","has","hasOwnProperty","hasOwnProp","value","property","call","main","Sym","toStrTag","toStringTag","v","isOwn","tag","out","err","nativeClass$f","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","nativeClass","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","nativeClass$c","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","isString","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","spacePad","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","hasToStringTagSupport","hasToStringTag","nativeClass$9","main$3","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","nativeClass$6","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","nativeClass$3","lpad","div2","y","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS","p","RangeError"],"mappings":";;AA+BA,SAASA,IACR,MACmB,mBAAXC,QACoB,iBAApBA,OAAQ,MAEjB,CCTA,IAAIC,EAAMC,ICLV,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eA4B3B,SAASC,EAAYC,EAAOC,GAC3B,OACCD,SAKMH,EAAIK,KAAMF,EAAOC,EACzB,CCpCA,IC4BIE,ED5BAC,EAA0B,mBAAXd,OAA0BA,YAAS,EEKlDe,EAA+B,mBAAXf,EAA0BA,EAAOgB,YAAc,GDyBtEH,EJVSZ,GAAqC,iBAAvBD,OAAOgB,YMQ/B,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EAEJ,GAAKH,QACJ,OAAOd,EAAMS,KAAMK,GAEpBE,EAAMF,EAAGD,GACTE,EAAQT,EAAYQ,EAAGD,GAGvB,IACCC,EAAGD,QAAgB,CAGnB,CAFC,MAAQK,GACT,OAAOlB,EAAMS,KAAMK,EACnB,CAQD,OAPAG,EAAMjB,EAAMS,KAAMK,GAEbC,EACJD,EAAGD,GAAgBG,SAEZF,EAAGD,GAEJI,CACR,EC3BA,SAAsBH,GACrB,OAAOd,EAAMS,KAAMK,EACpB,EHUA,IAAAK,EAAeT,EIjCXU,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBd,EAAiC,mBAAjBW,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBpB,EKJxB,GAAmC,mBAAvBqB,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3BrB,EKGNoB,EADjBD,GLAEN,GAAmBb,aAAiBc,cACb,0BAAzBQ,EAAatB,KKCC,IAAboB,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQG,CAId,CAFC,MAAQZ,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKK,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeT,EGxBX3B,EAAMC,ICLV,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IC4BIO,ED5BAC,EAA0B,mBAAXd,OAA0BA,YAAS,EEKlDe,EAA+B,mBAAXf,EAA0BA,EAAOgB,YAAc,GDyBtEH,EHVSZ,GAAqC,iBAAvBD,OAAOgB,YKQ/B,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EAEJ,GAAKH,QACJ,OAAOd,EAAMS,KAAMK,GAEpBE,EAAMF,EAAGD,GACTE,EAAQT,EAAYQ,EAAGD,GAGvB,IACCC,EAAGD,QAAgB,CAGnB,CAFC,MAAQK,GACT,OAAOlB,EAAMS,KAAMK,EACnB,CAQD,OAPAG,EAAMjB,EAAMS,KAAMK,GAEbC,EACJD,EAAGD,GAAgBG,SAEZF,EAAGD,GAEJI,CACR,EC3BA,SAAsBH,GACrB,OAAOd,EAAMS,KAAMK,EACpB,EHUA,IAAAqB,EAAezB,EIjCX0B,EAA0C,mBAAhBC,YC4B9B,ICjCI3B,EAAgC,mBAAhB2B,YAA+BA,YAAc,KCAjE,ICmBIZ,EDnBAA,EAAgC,mBAAhBY,YAA+BA,iBAAc,ECuBhEZ,ECPD,WACC,IAAIC,EACAC,ELMmBpB,EKJvB,GAAkC,mBAAtB+B,EACX,OAAO,EAGR,IAECX,EAAM,IAAIW,EADVX,EAAM,CAAE,EAAG,MAAO,KAAMY,WAAcA,aLDhBhC,EKINoB,EADhBD,GLDEU,GAAkB7B,aAAiB8B,aACZ,yBAAzBR,EAAatB,KKEC,IAAboB,EAAK,IACQ,IAAbA,EAAK,IACQY,aAAbZ,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAIN,CAFC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKc,GACGR,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAQ,EAAehB,EGZXiB,EAAe,IAAIrB,EAAc,GACnB,IAAIgB,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAb,EALIY,EAAc,GC9BdA,EAAe,IAAIrB,EAAc,GACnB,IAAIgB,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbnC,EAA0C,mBAA1BT,OAAO8C,eAAkC9C,OAAO8C,eAAiB,KCiCrF,IAAIA,EAAiB9C,OAAO8C,eCjB5B,SAASC,EAAUzC,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAAS0C,EAAOC,GACf,IACIC,EADAlC,EAAM,GAEV,IAAMkC,EAAI,EAAGA,EAAID,EAAGC,IACnBlC,GAAO,IAER,OAAOA,CACR,CAcA,SAASmC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAO5D,UAAU6D,YAC7BC,EAAYF,OAAO5D,UAAU+D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACAnD,EACAkC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFAnD,EAAMkD,EAAMG,IACZnB,EAAIoB,SAAUtD,EAAK,KACbuD,SAAUrB,GAAM,CACrB,IAAMH,EAAU/B,GACf,MAAM,IAAIgB,MAAO,2BAA6BhB,GAE/CkC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRlC,IAASkC,GAAIhD,SAAUiE,GAClBD,EAAMM,YACVxD,EAAMmC,EAASnC,EAAKkD,EAAMM,UAAWN,EAAMO,WAE5CzD,EAAM,IAAMA,IAEZA,EAAMkC,EAAEhD,SAAUiE,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBxD,EAAMmC,EAASnC,EAAKkD,EAAMM,UAAWN,EAAMO,WAF3CzD,EAAM,GAIFkD,EAAMQ,OACV1D,EAAMkD,EAAMQ,KAAO1D,IAGP,KAATmD,IACCD,EAAMS,YACV3D,EAAM,KAAOA,GAEdA,EAAQkD,EAAME,YAAcL,EAAUvD,KAAM0D,EAAME,WACjDL,EAAUvD,KAAMQ,GAChB4C,EAAUpD,KAAMQ,IAEJ,IAATmD,GACCD,EAAMS,WAAiC,MAApB3D,EAAI4D,OAAQ,KACnC5D,EAAM,IAAMA,GAGPA,CACR,CC3EA,SAAS6D,EAAUvE,GAClB,MAA0B,iBAAVA,CACjB,CCXA,IAAIwE,EAAMjC,KAAKiC,IACXlB,EAAYC,OAAO5D,UAAU6D,YAC7BC,EAAYF,OAAO5D,UAAU+D,YAC7Be,EAAUlB,OAAO5D,UAAU8E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcrB,GACtB,IAAIsB,EACAxE,EACAyE,EAAIC,WAAYxB,EAAMG,KAC1B,IAAME,SAAUkB,GAAM,CACrB,IAAM1C,EAAUmB,EAAMG,KACrB,MAAM,IAAIrC,MAAO,yCAA2ChB,GAG7DyE,EAAIvB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJpD,EAAMyE,EAAEE,cAAezB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJxD,EAAMyE,EAAEG,QAAS1B,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCM,EAAKW,GAAM,OACfD,EAAStB,EAAMM,WACD,IACbgB,GAAU,GAEXxE,EAAMyE,EAAEE,cAAeH,IAEvBxE,EAAMyE,EAAEI,YAAa3B,EAAMM,WAEtBN,EAAMS,YACX3D,EAAM+D,EAAQvE,KAAMQ,EAAKsE,EAAoB,OAC7CtE,EAAM+D,EAAQvE,KAAMQ,EAAKqE,EAAoB,KAC7CrE,EAAM+D,EAAQvE,KAAMQ,EAAKoE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAIpD,MAAO,mCAAqCkC,EAAME,WAc7D,OAZApD,EAAM+D,EAAQvE,KAAMQ,EAAKgE,EAAmB,SAC5ChE,EAAM+D,EAAQvE,KAAMQ,EAAKiE,EAAmB,SACvCf,EAAMS,YACV3D,EAAM+D,EAAQvE,KAAMQ,EAAKkE,EAAgB,OACzClE,EAAM+D,EAAQvE,KAAMQ,EAAKmE,EAAsB,SAE3CM,GAAK,GAAKvB,EAAMQ,OACpB1D,EAAMkD,EAAMQ,KAAO1D,GAEpBA,EAAQkD,EAAME,YAAcL,EAAUvD,KAAM0D,EAAME,WACjDL,EAAUvD,KAAMQ,GAChB4C,EAAUpD,KAAMQ,EAElB,CC5EA,SAAS8E,EAAQ7C,GAChB,IACIC,EADAlC,EAAM,GAEV,IAAMkC,EAAI,EAAGA,EAAID,EAAGC,IACnBlC,GAAO,IAER,OAAOA,CACR,CAcA,SAAS+E,EAAU3C,EAAKC,EAAOC,GAC9B,IAAIE,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,EACHJ,EAERA,EAAM,EACLA,EAAM0C,EAAQtC,GACdsC,EAAQtC,GAAQJ,CAElB,CC5BA,IAAI4C,GAAenC,OAAOmC,aACtBC,GAAQC,MACRC,GAAUC,MAAMD,QAYpB,SAASE,GAAYnC,GACpB,IAAIlD,EAAM,CAAA,EAMV,OALAA,EAAIoD,UAAYF,EAAME,UACtBpD,EAAIwD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DxD,EAAIqC,MAAQa,EAAMb,MAClBrC,EAAIsF,MAAQpC,EAAMoC,OAAS,GAC3BtF,EAAIuF,QAAUrC,EAAMqC,QACbvF,CACR,CAmBA,SAASwF,GAAmBC,GAC3B,IAAIC,EACAJ,EACApC,EACAyC,EACAC,EACA5F,EACA6F,EACA3D,EACA4D,EAEJ,IAAMX,GAASM,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFAzF,EAAM,GACN6F,EAAM,EACA3D,EAAI,EAAGA,EAAIuD,EAAOhD,OAAQP,IAE/B,GAAK2B,EADLX,EAAQuC,EAAQvD,IAEflC,GAAOkD,MACD,CAGN,GAFAwC,OAAgC,IAApBxC,EAAMM,YAClBN,EAAQmC,GAAYnC,IACRE,UACX,MAAM,IAAI2C,UAAW,oEAAqE7D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMqC,UACVM,EAAM3C,EAAMqC,SAEbD,EAAQpC,EAAMoC,MACRQ,EAAI,EAAGA,EAAIR,EAAM7C,OAAQqD,IAE9B,OADAH,EAAOL,EAAM1B,OAAQkC,IAErB,IAAK,IACJ5C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM8C,UAAW,EACjB,MACD,IAAK,IACJ9C,EAAM8C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ/C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI3C,MAAO,iBAAmB2E,GAGtC,GAAqB,MAAhBzC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAU4C,UAAWL,GAAO,IAC1CA,GAAO,EACFZ,GAAO/B,EAAMb,OACjB,MAAM,IAAI0D,UAAW,wCAA0CF,EAAM,6BAA+B3C,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKqD,GACqB,MAApBxC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU4C,UAAWL,GAAO,IAC9CA,GAAO,EACFZ,GAAO/B,EAAMM,WACjB,MAAM,IAAIuC,UAAW,4CAA8CF,EAAM,6BAA+B3C,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBkC,GAAY,EAEb,CAGF,OADAxC,EAAMG,IAAM6C,UAAWL,GACd3C,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECsC,IACJxC,EAAM8C,UAAW,GAElB9C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAMiD,SAAW,EAAgBjD,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMyB,GAAO/B,EAAMG,KAAQ,CAE1B,IADAuC,EAAMtC,SAAUJ,EAAMG,IAAK,KAChB,GAAKuC,EAAM,IACrB,MAAM,IAAI5E,MAAO,kCAAoCkC,EAAMG,KAE5DH,EAAMG,IAAQ4B,GAAOW,GACpB/C,OAAQK,EAAMG,KACd2B,GAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLxC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMkB,EAAcrB,GAC1B,MACD,QACC,MAAM,IAAIlC,MAAO,sBAAwBkC,EAAME,WAG3CF,EAAMiD,UAAY,GAAKjD,EAAMG,IAAIZ,OAASS,EAAMiD,WACpDjD,EAAMG,IAAMH,EAAMG,IAAI+C,UAAW,EAAGlD,EAAMiD,WAEtCjD,EAAM8C,SACV9C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,IAAM0B,EAAU7B,EAAMG,IAAKH,EAAMb,MAAOa,EAAMO,WAErDzD,GAAOkD,EAAMG,KAAO,GACpBwC,GAAO,CACP,CAEF,OAAO7F,CACR,CC3LA,IAAIqG,GAAK,6EAYT,SAASC,GAAOC,GACf,IAAIrD,EAAQ,CACXqC,QAAagB,EAAO,GAAQjD,SAAUiD,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChBlE,MAASkE,EAAO,GAChB/C,UAAa+C,EAAO,GACpBnD,UAAamD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCrD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASsD,GAAgBpE,GACxB,IAAIqE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,GAAGM,KAAMvE,GACTmE,IACPE,EAAUrE,EAAIwE,MAAOF,EAAML,GAAGQ,UAAYN,EAAO,GAAI9D,SACxCA,QACZgD,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,GAAOC,IACpBG,EAAOL,GAAGQ,UACVN,EAAQF,GAAGM,KAAMvE,GAMlB,OAJAqE,EAAUrE,EAAIwE,MAAOF,IACRjE,QACZgD,EAAOqB,KAAML,GAEPhB,CACR,CClDA,SAAS5B,GAAUvE,GAClB,MAA0B,iBAAVA,CACjB,CCUA,SAASyH,GAAQ3E,GAChB,IAAI4E,EACA9E,EAEJ,IAAM2B,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAGjG,IADA4E,EAAO,CAAEC,GAAU7E,IACbF,EAAI,EAAGA,EAAIgE,UAAUzD,OAAQP,IAClC8E,EAAKF,KAAMZ,UAAWhE,IAEvB,OAAOgF,GAAYC,MAAO,KAAMH,EACjC,CC7BA,IAAII,GAAiBpI,OAAOC,UACxBF,GAAQqI,GAAelI,SACvBmI,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA/F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CAGP,CAFC,MAAQ7B,GACT,OAAO,CACP,CACF,CDGK6H,GACa/G,EDqBlB,SAAyBgH,EAAKC,EAAMC,GACnC,IAAIhJ,EACAiJ,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtBhJ,GAAMS,KAAMuI,GAC3D,MAAM,IAAIhC,UAAWgB,GAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7BlJ,GAAMS,KAAMyI,GACzE,MAAM,IAAIlC,UAAWgB,GAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAajI,KAAMuI,EAAKC,IACxBL,GAAanI,KAAMuI,EAAKC,IAGxB/I,EAAY8I,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW3I,MAGzByI,EAAIM,UAAYpJ,GAEhB8I,EAAKC,GAASC,EAAW3I,OAG3B6I,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAIpH,MAAO,wHASlB,OANKmH,GAAUd,IACdA,GAAa7H,KAAMuI,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAa/H,KAAMuI,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAM1I,GAC7CwC,GAAgBiG,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZrJ,MAASA,GAEX,CCPA,SAASkJ,GAA0BT,EAAKC,EAAM1I,GAC7CwC,GAAgBiG,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZrJ,MAASA,GAEX,CCPA,SAASkJ,GAA0BT,EAAKC,EAAM1I,GAC7CwC,GAAgBiG,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZrJ,MAASA,GAEX,CCdA,SAASyC,GAAUzC,GAClB,MAA0B,iBAAVA,CACjB,CCbA,IAAIT,GAAMC,IAcV,SAAS8J,KACR,OAAS/J,IAAqC,iBAAvBD,OAAOgB,WAC/B,CCrBA,IAAIb,GAAQC,OAAOC,UAAUC,SCA7B,IC4BIO,GD5BAC,GAA0B,mBAAXd,OAA0BA,YAAS,EEKlDe,GAA+B,mBAAXf,GAA0BA,GAAOgB,YAAc,GDyBtEH,GADIoJ,KEDL,SAAsBhJ,GACrB,IAAIC,EACAC,EACAC,EAEJ,GAAKH,QACJ,OAAOd,GAAMS,KAAMK,GAEpBE,EAAMF,EAAGD,IACTE,EAAQT,EAAYQ,EAAGD,IAGvB,IACCC,EAAGD,SAAgB,CAGnB,CAFC,MAAQK,GACT,OAAOlB,GAAMS,KAAMK,EACnB,CAQD,OAPAG,EAAMjB,GAAMS,KAAMK,GAEbC,EACJD,EAAGD,IAAgBG,SAEZF,EAAGD,IAEJI,CACR,EC3BA,SAAsBH,GACrB,OAAOd,GAAMS,KAAMK,EACpB,EHUA,IAAAiJ,GAAerJ,GItCfsJ,GAAezI,OCMXpB,GAAWoB,GAAOrB,UAAUC,SCEhC,IAAIL,GAAMgK,KAmBV,SAAS9G,GAAUzC,GAClB,MAAsB,iBAAVA,IACNA,aAAiBgB,KAGjBzB,GCpBP,SAAeS,GACd,IAEC,OADAJ,GAASM,KAAMF,IACR,CAGP,CAFC,MAAQW,GACT,OAAO,CACP,CACF,CDcU+I,CAAM1J,GAEoB,oBAAzBsB,GAAatB,IAGxB,CEVA,SAASyC,GAAUzC,GAClB,OAAS2J,GAAa3J,IAAW4J,GAAU5J,EAC5C,CCoBA6J,GAAA1J,GAAA,cAAAwJ,IACAE,GAAA1J,GAAA,WAAAyJ,ICnBA,IAAIE,GAAe9I,GAAO+I,kBClB1B,SAASC,GAAWhK,GACnB,OACCA,EAAQuB,GACRvB,EAAQqC,ICGDC,EADW2H,EDDXjK,KCEaiK,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAWhK,GACnB,OACCyC,GAAUzC,IACVkK,GAAOlK,EAET,CCLA,SAASgK,GAAWhK,GACnB,OACCyC,GAAUzC,IACVkK,GAAOlK,EAAMmK,UAEf,CCGA,SAASH,GAAWhK,GACnB,OAAS2J,GAAa3J,IAAW4J,GAAU5J,EAC5C,CCXA,SAASoK,GAAsBpK,GAC9B,OACCgK,GAAWhK,IACXA,GAAS,CAEX,CCLA,SAASoK,GAAsBpK,GAC9B,OACCgK,GAAWhK,IACXA,EAAMmK,WAAa,CAErB,CCQA,SAASC,GAAsBpK,GAC9B,OAAS2J,GAAa3J,IAAW4J,GAAU5J,EAC5C,CCtBA,SAASuE,GAAUvE,GAClB,MAA0B,iBAAVA,CACjB,CCmCA6J,GAAA1J,GAAA,cAAAwJ,IACAE,GAAA1J,GAAA,WAAAyJ,ICAAC,GAAA1J,GAAA,cAAAwJ,IACAE,GAAA1J,GAAA,WAAAyJ,IC9CA,IAAIrK,GAAMC,IAcV,SAAS8J,KACR,OAAS/J,IAAqC,iBAAvBD,OAAOgB,WAC/B,CCrBA,IAAIb,GAAQC,OAAOC,UAAUC,SCA7B,IC4BIO,GD5BAC,GAA0B,mBAAXd,OAA0BA,YAAS,EEKlDe,GAA+B,mBAAXf,GAA0BA,GAAOgB,YAAc,GDyBtEH,GADIoJ,KEDL,SAAsBhJ,GACrB,IAAIC,EACAC,EACAC,EAEJ,GAAKH,QACJ,OAAOd,GAAMS,KAAMK,GAEpBE,EAAMF,EAAGD,IACTE,EAAQT,EAAYQ,EAAGD,IAGvB,IACCC,EAAGD,SAAgB,CAGnB,CAFC,MAAQK,GACT,OAAOlB,GAAMS,KAAMK,EACnB,CAQD,OAPAG,EAAMjB,GAAMS,KAAMK,GAEbC,EACJD,EAAGD,IAAgBG,SAEZF,EAAGD,IAEJI,CACR,EC3BA,SAAsBH,GACrB,OAAOd,GAAMS,KAAMK,EACpB,EHUA,IAAA8J,GAAelK,GIvCXgK,GAAU5G,OAAO5D,UAAUwK,QCQ/B,IAAI5K,GAAMgK,KAmBV,SAAShF,GAAUvE,GAClB,MAAsB,iBAAVA,IACNA,aAAiBuD,SAGjBhE,GCnBP,SAAeS,GACd,IAEC,OADAmK,GAAQjK,KAAMF,IACP,CAGP,CAFC,MAAQW,GACT,OAAO,CACP,CACF,CDaU+I,CAAM1J,GAEoB,oBAAzBsB,GAAatB,IAGxB,CEjBA,SAASuE,GAAUvE,GAClB,OAAS2J,GAAa3J,IAAW4J,GAAU5J,EAC5C,CCsBA6J,GAAA1J,GAAA,cAAAwJ,IACAE,GAAA1J,GAAA,WAAAyJ,IChBA,IC7BIzI,QAA4C,IAA5BoC,OAAO5D,UAAU2K,OCArC,IAAIA,GAAS/G,OAAO5D,UAAU2K,OCmC9B,IAAAzG,GATK0G,GCFL,SAAiBzH,EAAKH,GACrB,OAAOlB,GAAQvB,KAAM4C,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAI6H,EACAC,EACJ,GAAoB,IAAf3H,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFA6H,EAAM,GACNC,EAAM9H,EAGY,IAAP,EAAJ8H,KACLD,GAAO1H,GAIK,IADb2H,KAAS,IAKT3H,GAAOA,EAER,OAAO0H,CACR,EC1DIE,GAAOnI,KAAKmI,KCIhB,SAASC,GAAM7H,EAAK8H,EAAK1H,GACxB,IAAIP,GAAMiI,EAAM9H,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI+H,GAAM/H,GACHG,EAAMwH,GAAQpH,EAAKP,GAC3B,CCVA,SAASuG,GAA0BT,EAAKC,EAAM1I,GAC7CwC,GAAgBiG,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZrJ,MAASA,GAEX,CCXA,SAASoK,GAAsBpK,GAC9B,OACCgK,GAAWhK,IACXA,GAAS,CAEX,CCLA,SAASoK,GAAsBpK,GAC9B,OACCgK,GAAWhK,IACXA,EAAMmK,WAAa,CAErB,CCQA,SAASC,GAAsBpK,GAC9B,OAAS2J,GAAa3J,IAAW4J,GAAU5J,EAC5C,CCtBA,SAASuE,GAAUvE,GAClB,MAA0B,iBAAVA,CACjB,CCoCA6J,GAAA1J,GAAA,cAAAwJ,IACAE,GAAA1J,GAAA,WAAAyJ,IC9CA,IAAIrK,GAAMC,IAcV,SAAS8J,KACR,OAAS/J,IAAqC,iBAAvBD,OAAOgB,WAC/B,CCrBA,IAAIb,GAAQC,OAAOC,UAAUC,SCA7B,IC4BIO,GD5BAC,GAA0B,mBAAXd,OAA0BA,YAAS,EEKlDe,GAA+B,mBAAXf,GAA0BA,GAAOgB,YAAc,GDyBtEH,GADIoJ,KEDL,SAAsBhJ,GACrB,IAAIC,EACAC,EACAC,EAEJ,GAAKH,QACJ,OAAOd,GAAMS,KAAMK,GAEpBE,EAAMF,EAAGD,IACTE,EAAQT,EAAYQ,EAAGD,IAGvB,IACCC,EAAGD,SAAgB,CAGnB,CAFC,MAAQK,GACT,OAAOlB,GAAMS,KAAMK,EACnB,CAQD,OAPAG,EAAMjB,GAAMS,KAAMK,GAEbC,EACJD,EAAGD,IAAgBG,SAEZF,EAAGD,IAEJI,CACR,EC3BA,SAAsBH,GACrB,OAAOd,GAAMS,KAAMK,EACpB,EHUA,IAAAsK,GAAe1K,GIvCXgK,GAAU5G,OAAO5D,UAAUwK,QCQ/B,IAAI5K,GAAMgK,KAmBV,SAAShF,GAAUvE,GAClB,MAAsB,iBAAVA,IACNA,aAAiBuD,SAGjBhE,GCnBP,SAAeS,GACd,IAEC,OADAmK,GAAQjK,KAAMF,IACP,CAGP,CAFC,MAAQW,GACT,OAAO,CACP,CACF,CDaU+I,CAAM1J,GAEoB,oBAAzBsB,GAAatB,IAGxB,CEjBA,SAASuE,GAAUvE,GAClB,OAAS2J,GAAa3J,IAAW4J,GAAU5J,EAC5C,CCsBA6J,GAAA1J,GAAA,cAAAwJ,IACAE,GAAA1J,GAAA,WAAAyJ,IChBA,ICPIc,GAAOnI,KAAKmI,KCIhB,SAASI,GAAMhI,EAAK8H,EAAK1H,GACxB,IAAIP,GAAMiI,EAAM9H,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI+H,GAAM/H,GACH2H,GAAQpH,EAAKP,GAAMG,EAC3B,CCVA,SAASoG,GAA0BT,EAAKC,EAAM1I,GAC7CwC,GAAgBiG,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZrJ,MAASA,GAEX,CCXA,SAASoK,GAAsBpK,GAC9B,OACCgK,GAAWhK,IACXA,GAAS,CAEX,CCLA,SAASoK,GAAsBpK,GAC9B,OACCgK,GAAWhK,IACXA,EAAMmK,WAAa,CAErB,CCQA,SAASC,GAAsBpK,GAC9B,OAAS2J,GAAa3J,IAAW4J,GAAU5J,EAC5C,CCtBA,SAASuE,GAAUvE,GAClB,MAA0B,iBAAVA,CACjB,CCoCA6J,GAAA1J,GAAA,cAAAwJ,IACAE,GAAA1J,GAAA,WAAAyJ,IC9CA,IAAIrK,GAAMC,IAcV,SAAS8J,KACR,OAAS/J,IAAqC,iBAAvBD,OAAOgB,WAC/B,CCrBA,IAAIb,GAAQC,OAAOC,UAAUC,SCA7B,IC4BIO,GD5BAC,GAA0B,mBAAXd,OAA0BA,YAAS,EEKlDe,GAA+B,mBAAXf,GAA0BA,GAAOgB,YAAc,GDyBtEH,GADIoJ,KEDL,SAAsBhJ,GACrB,IAAIC,EACAC,EACAC,EAEJ,GAAKH,QACJ,OAAOd,GAAMS,KAAMK,GAEpBE,EAAMF,EAAGD,IACTE,EAAQT,EAAYQ,EAAGD,IAGvB,IACCC,EAAGD,SAAgB,CAGnB,CAFC,MAAQK,GACT,OAAOlB,GAAMS,KAAMK,EACnB,CAQD,OAPAG,EAAMjB,GAAMS,KAAMK,GAEbC,EACJD,EAAGD,IAAgBG,SAEZF,EAAGD,IAEJI,CACR,EC3BA,SAAsBH,GACrB,OAAOd,GAAMS,KAAMK,EACpB,EHUA,IAAAe,GAAenB,GIvCXgK,GAAU5G,OAAO5D,UAAUwK,QCQ/B,IAAI5K,GAAMgK,KAmBV,SAAShF,GAAUvE,GAClB,MAAsB,iBAAVA,IACNA,aAAiBuD,SAGjBhE,GCnBP,SAAeS,GACd,IAEC,OADAmK,GAAQjK,KAAMF,IACP,CAGP,CAFC,MAAQW,GACT,OAAO,CACP,CACF,CDaU+I,CAAM1J,GAEoB,oBAAzBsB,GAAatB,IAGxB,CEjBA,SAASuE,GAAUvE,GAClB,OAAS2J,GAAa3J,IAAW4J,GAAU5J,EAC5C,CCQA,SAASsK,GAAQxH,EAAKH,GACrB,IAAM4B,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMsH,GAAsBzH,GAC3B,MAAM,IAAI8D,UAAWgB,GAAQ,gFAAiF9E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAASoI,GAAMd,GAKd,IAJA,IACIe,EADAlI,EAAM,GAIFmH,EAAI,GAIVnH,GAHDkI,EAAIf,EAAI,MACRA,EAAI3H,EAAO0I,IAEJ,IAAMlI,EAEN,IAAMA,EAGd,OAAOA,CACR,CCCA+G,GAAA1J,GAAA,cAAAwJ,IACAE,GAAA1J,GAAA,WAAAyJ,IC4BA,SAASqB,GAAiBhB,GACzB,IAAIiB,EACA9G,EACAtB,EACAqI,EACAxI,EACAwC,EACAvC,EASJ,GALCwB,EADI6F,EAAI,GAAO,EAAIA,IAAM5H,EAClB,IAEA,IAGH4H,IAAM1I,GAAQ0I,IAAM5H,EAIxB,OAAO+B,GAFP+G,EAAMb,GAAQ,IA3EQ,KA4EtBxH,EAAMwH,GAAQ,IA7EW,KAiF1B,GAAKL,GAAMA,EAIV,OAAO7F,GAFP+G,EAAMb,GAAQ,IAlFQ,KAmFtBxH,EAAM,IAAMwH,GAAQ,IAAKc,KAI1B,GAAW,IAANnB,EAIJ,OAAO7F,GAFP+G,EAAMb,GAAQ,IAzFQ,KA0FtBxH,EAAMwH,GAAQ,IA3FW,KA2G1B,GAPAnF,GANA8E,ECnFD,SAAcA,GACb,OAAO1H,KAAKiC,IAAKyF,EAClB,CDiFKzF,CAAKyF,KAGTtH,EAAIL,EAAO2H,IAMXtH,EAAIoI,GAAMpI,GACVwC,EElGD,SAAgB8E,GACf,IAAInH,EACAkI,EACApI,EACA4D,EAGJ,GADA1D,EAAM,GACK,IAANmH,EACJ,OAAOnH,EAKR,IAHA0D,EA/Bc,IAkCR5D,EAAI,EAAGA,EAlCC,OAmCboI,EAAQ,EAAJf,IACM,GACTA,EAAIe,EAAI,EACRlI,GAAO,IAtCK,MAuCP0D,IACJA,EAAI5D,KAGLqH,EAAIe,EACJlI,GAAO,OAGG,IAANkI,GAAapI,EAAE4D,EA9CP,KAiCa5D,KAkB3B,OAAOE,CACR,CFkEKuI,CAAOlG,GAGNxC,EAEJwI,EAAMxI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIuC,EAAEhC,OAAQP,IAC1B,GAAgB,MAAXuC,EAAGvC,GAAc,CACrBsI,EAAQtI,EAAI,EACZ,KACA,CAGFuI,GAAOD,CACP,CAuBD,OArBApI,EAAMH,EAAIwC,EACLgG,EAAM,GAELA,IG9GqB,MHgHzBD,EAAQI,KAGTxI,EAAMA,EAAIgE,UAAWoE,IAGrBpI,EAAMA,EAAIgE,UAAW,GAItBqE,EIvHD,SAAerI,EAAK8H,EAAK1H,GACxB,IAAIqI,EACJ,IAAMhH,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMsH,GAAsBQ,GAC3B,MAAM,IAAInE,UAAWgB,GAAQ,gFAAiFmD,IAE/G,GAAKhE,UAAUzD,OAAS,EAAI,CAE3B,IAAMoB,GADNgH,EAAIrI,GAEH,MAAM,IAAIuD,UAAWgB,GAAQ,kEAAmE8D,IAEjG,GAAkB,IAAbA,EAAEpI,OACN,MAAM,IAAIqI,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKX,E3BvByB,iB2BwB7B,MAAM,IAAIY,WAAY/D,GAAQ,6FAA8FmD,IAE7H,OAAO/G,GAAMf,EAAK8H,EAAKW,EACxB,CJgGOT,CADNK,EAAMJ,GAAMI,EGzHe,KHdJ,EAwIa,KAGpCrI,EK1HD,SAAeA,EAAK8H,EAAK1H,GACxB,IAAIqI,EACJ,IAAMhH,GAAUzB,GACf,MAAM,IAAI2D,UAAWgB,GAAQ,kEAAmE3E,IAEjG,IAAMsH,GAAsBQ,GAC3B,MAAM,IAAInE,UAAWgB,GAAQ,gFAAiFmD,IAE/G,GAAKhE,UAAUzD,OAAS,EAAI,CAE3B,IAAMoB,GADNgH,EAAIrI,GAEH,MAAM,IAAIuD,UAAWgB,GAAQ,kEAAmE8D,IAEjG,GAAkB,IAAbA,EAAEpI,OACN,MAAM,IAAIqI,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKX,EtDvByB,iBsDwB7B,MAAM,IAAIY,WAAY/D,GAAQ,6FAA8FmD,IAE7H,OAAO/G,GAAMf,EAAK8H,EAAKW,EACxB,CLmGOZ,CAAM7H,EA5Ic,GA4Ia,KAAMgE,UAAW,EA5I9B,IA+InB1C,EAAO+G,EAAMrI,CACrB"} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index 481cb6d..0000000 --- a/stats.html +++ /dev/null @@ -1,6177 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From 59a2b6dba54ce3e33c9265e11ceb8d1d334ab04c Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 25 Feb 2024 02:10:56 +0000 Subject: [PATCH 100/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 49 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 797 ---- .github/workflows/publish.yml | 249 -- .github/workflows/test.yml | 100 - .github/workflows/test_bundles.yml | 189 - .github/workflows/test_coverage.yml | 132 - .github/workflows/test_install.yml | 86 - .gitignore | 188 - .npmignore | 228 - .npmrc | 28 - CHANGELOG.md | 5 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 --- README.md | 44 +- SECURITY.md | 5 - benchmark/benchmark.js | 52 - branches.md | 56 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 4842 +++++++++++++++++++++ test/dist/test.js | 33 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 50 files changed, 4863 insertions(+), 4266 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 SECURITY.md delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 60d743f..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index e4f10fe..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index b5291db..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # v0.12.1 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 2984901..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index e313406..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 # v3.0.3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 9106b5d..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,797 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 -r sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA corresponding to v2.0.0 - uses: act10ns/slack@ed1309ab9862e57e9e583e51c7889486b9a00b0f - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index a8a9c60..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,33 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2023 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 main = require( './../../dist' ); - - -// TESTS // - -tape( 'main export is defined', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( main !== void 0, true, 'main export is defined' ); - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 09655d03351c94fa0e944ec6e7554835a0bad08a Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 25 Feb 2024 04:50:24 +0000 Subject: [PATCH 101/146] Update README.md for Deno bundle v0.2.1 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e38f93c..3d7e5c7 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ limitations under the License. ## Usage ```javascript -import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@v0.2.1-deno/mod.js'; ``` #### toBinaryStringf( x ) @@ -111,7 +111,7 @@ import randu from 'https://cdn.jsdelivr.net/gh/stdlib-js/random-base-randu@deno/ import round from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-round@deno/mod.js'; import pow from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-pow@deno/mod.js'; import float64ToFloat32 from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float64-base-to-float32@deno/mod.js'; -import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@v0.2.1-deno/mod.js'; var frac; var sign; From fed2f1c919db77353c00dae96326594705e1d95a Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 25 Feb 2024 04:50:25 +0000 Subject: [PATCH 102/146] Auto-generated commit --- README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3d7e5c7..6a54afd 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,11 @@ limitations under the License. ## Usage +```javascript +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; +``` +The previous example will load the latest bundled code from the deno branch. Alternatively, you may load a specific version by loading the file from one of the [tagged bundles](https://github.com/stdlib-js/number-float32-base-to-binary-string/tags). For example, + ```javascript import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@v0.2.1-deno/mod.js'; ``` @@ -111,7 +116,7 @@ import randu from 'https://cdn.jsdelivr.net/gh/stdlib-js/random-base-randu@deno/ import round from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-round@deno/mod.js'; import pow from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-pow@deno/mod.js'; import float64ToFloat32 from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float64-base-to-float32@deno/mod.js'; -import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@v0.2.1-deno/mod.js'; +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; var frac; var sign; From 21548cb257b04fcbaf39dd0ddbb63a7c9a2e6bf9 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Fri, 1 Mar 2024 05:34:13 +0000 Subject: [PATCH 103/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 232c738..5179272 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.2.1", "@stdlib/string-left-pad": "^0.2.1", "@stdlib/string-repeat": "^0.2.1", - "@stdlib/string-right-pad": "^0.2.1" + "@stdlib/string-right-pad": "^0.2.1", + "@stdlib/error-tools-fmtprodmsg": "^0.2.1" }, "devDependencies": { "@stdlib/assert-is-string": "^0.2.1", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From 7c626464b357e8f27291d152c49d409659dcf7fe Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Fri, 1 Mar 2024 10:27:48 +0000 Subject: [PATCH 104/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 4842 ---------------------------------------------------- 4 files changed, 4925 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 84d9489..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( '@stdlib/constants-float32-pinf' ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( '@stdlib/constants-float32-ninf' ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 38c64fa..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2024 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var l=Number.POSITIVE_INFINITY,s="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof s)return!1;try{e=new s([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===l}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,h="function"==typeof Uint32Array;var d="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof d)return!1;try{e=new d(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(h&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var V=Object.defineProperty;function j(r){return"number"==typeof r}function x(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=R.call(t,W,"$1e"),t=R.call(t,Z,"e"),t=R.call(t,M,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=R.call(t,$,"e+0$1"),t=R.call(t,U,"e-0$1"),r.alternate&&(t=R.call(t,C,"$1."),t=R.call(t,G,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===N.call(r.specifier)?N.call(t):P.call(t)}function X(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=z(a)?String(n.arg):Y(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=L(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=A(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=(s=n.arg,f=n.width,p=n.padRight,g=void 0,(g=f-s.length)<0?s:s=p?s+X(g):X(g)+s)),o+=n.arg||"",u+=1}return o}var H=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function J(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function K(r){var e,t,n,i;for(t=[],i=0,n=H.exec(r);n;)(e=r.slice(i,H.lastIndex-n[0].length)).length&&t.push(e),t.push(J(n)),i=H.lastIndex,n=H.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function Q(r){var e,t;if("string"!=typeof r)throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=[K(r)],t=1;thr&&_(e=r)===e;var e}function vr(r){return cr(r)&&dr(r)}function yr(r){return pr(r)&&dr(r.valueOf())}function mr(r){return vr(r)||yr(r)}function wr(r){return vr(r)&&r>=0}function br(r){return yr(r)&&r.valueOf()>=0}function Er(r){return wr(r)||br(r)}function Sr(r){return"string"==typeof r}ur(mr,"isPrimitive",vr),ur(mr,"isObject",yr),ur(Er,"isPrimitive",wr),ur(Er,"isObject",br);var _r=String.prototype.valueOf;var Tr=e();function Vr(r){return"object"==typeof r&&(r instanceof String||(Tr?function(r){try{return _r.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function jr(r){return Sr(r)||Vr(r)}ur(jr,"isPrimitive",Sr),ur(jr,"isObject",Vr);var xr=9007199254740991,Ar=void 0!==String.prototype.repeat;var Fr=String.prototype.repeat;var kr=Ar?function(r,e){return Fr.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Or=Math.ceil;function Ir(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),r+kr(t,n))}(r,e,n)}var Pr=9007199254740991,Nr=Math.ceil;function Rr(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>Pr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Nr(n),kr(t,n)+r)}(r,e,n)}function $r(r,e){if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return kr(r,e)}function Ur(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}var Cr=149,Gr=24;function Mr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=$r("1",8))+(n=$r("0",23));if(r!=r)return t+(i=$r("1",8))+(n="1"+$r("0",22));if(0===r)return t+(i=$r("0",8))+(n=$r("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=Ur(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=Cr,n=0;n=1?(r=t-1,e+="1",i===Cr&&(i=n)):(r=t,e+="0"),!(1===t||n-i>Gr));n++);return e}(o),a)i=a.length-1;else{for(u=0;u\n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\targs = [ tokenize( str ) ];\n\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\targs.push( arguments[ i ] );\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","FLOAT64_MAX_SAFE_INTEGER","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","p","RangeError","lpad","div2","y","MAX_ITER","MAX_BITS","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CACnB,CAAC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAEd,CAAC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAEN,CAAC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CCpFA,IAAI8D,EAAMhC,KAAKgC,IACXjB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Bc,EAAUjB,OAAOzD,UAAU0E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcpB,GACtB,IAAIqB,EACAxE,EACAyE,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMzC,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7DyE,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAMyE,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAMyE,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,EAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEXxE,EAAMyE,EAAEE,cAAeH,IAEvBxE,EAAMyE,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAM+D,EAAQ5D,KAAMH,EAAKsE,EAAoB,OAC7CtE,EAAM+D,EAAQ5D,KAAMH,EAAKqE,EAAoB,KAC7CrE,EAAM+D,EAAQ5D,KAAMH,EAAKoE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAIlD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAM+D,EAAQ5D,KAAMH,EAAKgE,EAAmB,SAC5ChE,EAAM+D,EAAQ5D,KAAMH,EAAKiE,EAAmB,SACvCd,EAAMS,YACV5D,EAAM+D,EAAQ5D,KAAMH,EAAKkE,EAAgB,OACzClE,EAAM+D,EAAQ5D,KAAMH,EAAKmE,EAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS8E,EAAQ5C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CCLA,IAAI+E,EAAejC,OAAOiC,aACtBC,EAAQC,MACRC,EAAUC,MAAMD,QAYpB,SAASE,EAAYjC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIqF,MAAQlC,EAAMkC,OAAS,GAC3BrF,EAAIsF,QAAUnC,EAAMmC,QACbtF,CACR,CAmBA,SAASuF,EAAmBC,GAC3B,IAAIC,EACAJ,EACAlC,EACAuC,EACAC,EACA3F,EACA4F,EACAzD,EACA0D,ED/BcxD,EAAKC,EAAOC,EAC1BE,ECgCJ,IAAMyC,EAASM,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFAxF,EAAM,GACN4F,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GADAgB,EAAQqC,EAAQrD,GCtDS,iBDuDVgB,EACdnD,GAAOmD,MACD,CAGN,GAFAsC,OAAgC,IAApBtC,EAAMM,YAClBN,EAAQiC,EAAYjC,IACRE,UACX,MAAM,IAAIyC,UAAW,oEAAqE3D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMmC,UACVM,EAAMzC,EAAMmC,SAEbD,EAAQlC,EAAMkC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMxB,OAAQgC,IAErB,IAAK,IACJ1C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmBwE,GAGtC,GAAqB,MAAhBvC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAU0C,UAAWL,GAAO,IAC1CA,GAAO,EACFZ,EAAO7B,EAAMb,OACjB,MAAM,IAAIwD,UAAW,wCAA0CF,EAAM,6BAA+BzC,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKmD,GACqB,MAApBtC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWL,GAAO,IAC9CA,GAAO,EACFZ,EAAO7B,EAAMM,WACjB,MAAM,IAAIqC,UAAW,4CAA8CF,EAAM,6BAA+BzC,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBgC,GAAY,EAEb,CAGF,OADAtC,EAAMG,IAAM2C,UAAWL,GACdzC,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECoC,IACJtC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMuB,EAAO7B,EAAMG,KAAQ,CAE1B,IADAqC,EAAMpC,SAAUJ,EAAMG,IAAK,KAChB,GAAKqC,EAAM,IACrB,MAAM,IAAIzE,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ0B,EAAOW,GACpB7C,OAAQK,EAAMG,KACdyB,EAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLtC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,EAAcpB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIZ,OAASS,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,KDxJSjB,ECwJOc,EAAMG,IDxJRhB,ECwJaa,EAAMb,MDxJZC,ECwJmBY,EAAMO,SDvJnDjB,YAAMH,EAAQD,EAAIK,QACX,EACHL,EAERA,EAAM,EACLA,EAAMyC,EAAQrC,GACdqC,EAAQrC,GAAQJ,ICmJfrC,GAAOmD,EAAMG,KAAO,GACpBsC,GAAO,CACP,CAEF,OAAO5F,CACR,CE3LA,IAAIoG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAInD,EAAQ,CACXmC,QAAagB,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChBhE,MAASgE,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASoD,EAAgBlE,GACxB,IAAImE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMrE,GACTiE,IACPE,EAAUnE,EAAIsE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI5D,SACxCA,QACZ8C,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMrE,GAMlB,OAJAmE,EAAUnE,EAAIsE,MAAOF,IACR/D,QACZ8C,EAAOqB,KAAML,GAEPhB,CACR,CCtCA,SAASsB,EAAQzE,GAChB,IAAI0E,EACA5E,EAEJ,GCf0B,iBDeVE,EACf,MAAM,IAAIyD,UAAWgB,EAAQ,kEAAmEzE,IAGjG,IADA0E,EAAO,CAAEC,EAAU3E,IACbF,EAAI,EAAGA,EAAI8D,UAAUvD,OAAQP,IAClC4E,EAAKF,KAAMZ,UAAW9D,IAEvB,OAAO8E,EAAYC,MAAO,KAAMH,EACjC,CE7BA,IAAII,GAAiB/H,OAAOC,UACxBF,GAAQgI,GAAe7H,SACvB8H,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA7F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CACP,CAAC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGKyH,GACa5G,EDqBlB,SAAyB6G,EAAKC,EAAMC,GACnC,IAAI3I,EACA4I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB3I,GAAMgB,KAAM2H,GAC3D,MAAM,IAAIhC,UAAWgB,EAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B7I,GAAMgB,KAAM6H,GACzE,MAAM,IAAIlC,UAAWgB,EAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAarH,KAAM2H,EAAKC,IACxBL,GAAavH,KAAM2H,EAAKC,IAGxB1I,EAAYyI,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW/H,MAGzB6H,EAAIM,UAAY/I,GAEhByI,EAAKC,GAASC,EAAW/H,OAG3BiI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAIjH,MAAO,wHASlB,OANKgH,GAAUd,IACdA,GAAajH,KAAM2H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAanH,KAAM2H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAM9H,GAC7C8B,GAAgB+F,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZzI,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDcUuI,CAAM1I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS2I,GAAa3I,IAAW4I,GAAU5I,EAC5C,CCoBA6I,GAAArJ,GAAA,cAAAmJ,IACAE,GAAArJ,GAAA,WAAAoJ,ICnBA,IAAIE,GAAetI,GAAOuI,kBClB1B,SAASC,GAAWhJ,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWqH,EDDXjJ,KCEaiJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAWhJ,GACnB,OACC+B,GAAU/B,IACVkJ,GAAOlJ,EAET,CCLA,SAASgJ,GAAWhJ,GACnB,OACC+B,GAAU/B,IACVkJ,GAAOlJ,EAAMmJ,UAEf,CCGA,SAASH,GAAWhJ,GACnB,OAAS2I,GAAa3I,IAAW4I,GAAU5I,EAC5C,CCXA,SAASoJ,GAAsBpJ,GAC9B,OACCgJ,GAAWhJ,IACXA,GAAS,CAEX,CCLA,SAASoJ,GAAsBpJ,GAC9B,OACCgJ,GAAWhJ,IACXA,EAAMmJ,WAAa,CAErB,CCQA,SAASC,GAAsBpJ,GAC9B,OAAS2I,GAAa3I,IAAW4I,GAAU5I,EAC5C,CCtBA,SAASqJ,GAAUrJ,GAClB,MAA0B,iBAAVA,CACjB,CCmCA6I,GAAArJ,GAAA,cAAAmJ,IACAE,GAAArJ,GAAA,WAAAoJ,ICAAC,GAAArJ,GAAA,cAAAmJ,IACAE,GAAArJ,GAAA,WAAAoJ,ICpDA,IAAIO,GAAUtG,OAAOzD,UAAU+J,QCQ/B,IAAIrK,GAAMa,IAmBV,SAAS0J,GAAUrJ,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAmJ,GAAQjJ,KAAMF,IACP,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDaUuI,CAAM1I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAASqJ,GAAUrJ,GAClB,OAAS2I,GAAa3I,IAAW4I,GAAU5I,EAC5C,CCsBA6I,GAAArJ,GAAA,cAAAmJ,IACAE,GAAArJ,GAAA,WAAAoJ,IChBA,IAAIU,GAA2B,iBC7B3B3I,QAA4C,IAA5BkC,OAAOzD,UAAUmK,OCArC,IAAIA,GAAS1G,OAAOzD,UAAUmK,OCmC9B,IAAApG,GATKqG,GCFL,SAAiBpH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIwH,EACAC,EACJ,GAAoB,IAAftH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAwH,EAAM,GACNC,EAAMzH,EAGY,IAAP,EAAJyH,KACLD,GAAOrH,GAIK,IADbsH,KAAS,IAKTtH,GAAOA,EAER,OAAOqH,CACR,EC1DIE,GAAO9H,KAAK8H,KCWhB,SAASC,GAAMxH,EAAKyH,EAAKrH,GACxB,IAAIsH,EACJ,IAAMT,GAAUjH,GACf,MAAM,IAAIyD,UAAWgB,EAAQ,kEAAmEzE,IAEjG,IAAMgH,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUvD,OAAS,EAAI,CAE3B,IAAM4G,GADNS,EAAItH,GAEH,MAAM,IAAIqD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAErH,OACN,MAAM,IAAIsH,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAezH,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHG,EAAMmH,GAAQ/G,EAAKP,GAC3B,CDsBQkB,CAAMf,EAAKyH,EAAKC,EACxB,CE3BA,IAAIR,GAA2B,iBCP3BK,GAAO9H,KAAK8H,KCWhB,SAASK,GAAM5H,EAAKyH,EAAKrH,GACxB,IAAIsH,EACJ,IAAMT,GAAUjH,GACf,MAAM,IAAIyD,UAAWgB,EAAQ,kEAAmEzE,IAEjG,IAAMgH,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUvD,OAAS,EAAI,CAE3B,IAAM4G,GADNS,EAAItH,GAEH,MAAM,IAAIqD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAErH,OACN,MAAM,IAAIsH,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAezH,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHsH,GAAQ/G,EAAKP,GAAMG,EAC3B,CDsBQe,CAAMf,EAAKyH,EAAKC,EACxB,CE1BA,SAASP,GAAQnH,EAAKH,GACrB,IAAMoH,GAAUjH,GACf,MAAM,IAAIyD,UAAWgB,EAAQ,kEAAmEzE,IAEjG,IAAMgH,GAAsBnH,GAC3B,MAAM,IAAI4D,UAAWgB,EAAQ,gFAAiF5E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAASgI,GAAMhB,GAKd,IAJA,IACIiB,EADA9H,EAAM,GAIF6G,EAAI,GAIV7G,GAHD8H,EAAIjB,EAAI,MACRA,EAAIrH,EAAOsI,IAEJ,IAAM9H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC3CA,IAAI+H,GAAW,IACXC,GAAW,GCwEf,SAASC,GAAiBpB,GACzB,IAAIqB,EACA5G,EACAtB,EACAmI,EACAtI,EACAuC,EACAtC,EASJ,GALCwB,EADIuF,EAAI,GAAO,EAAIA,IAAMtH,EAClB,IAEA,IAGHsH,IAAMnI,GAAQmI,IAAMtH,EAIxB,OAAO+B,GAFP6G,EAAMhB,GAAQ,IA3EQ,KA4EtBnH,EAAMmH,GAAQ,IA7EW,KAiF1B,GAAKN,GAAMA,EAIV,OAAOvF,GAFP6G,EAAMhB,GAAQ,IAlFQ,KAmFtBnH,EAAM,IAAMmH,GAAQ,IAAKiB,KAI1B,GAAW,IAANvB,EAIJ,OAAOvF,GAFP6G,EAAMhB,GAAQ,IAzFQ,KA0FtBnH,EAAMmH,GAAQ,IA3FW,KA2G1B,GAPA/E,GANAyE,ECnFD,SAAcA,GACb,OAAOpH,KAAKgC,IAAKoF,EAClB,CDiFKpF,CAAKoF,KAGThH,EAAIL,EAAOqH,IAMXhH,EAAIgI,GAAMhI,GACVuC,EDlGD,SAAgByE,GACf,IAAI7G,EACA8H,EACAhI,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAAN6G,EACJ,OAAO7G,EAKR,IAHAwD,EAAIuE,GAGEjI,EAAI,EAAGA,EAAIiI,MAChBD,EAAQ,EAAJjB,IACM,GACTA,EAAIiB,EAAI,EACR9H,GAAO,IACFwD,IAAMuE,KACVvE,EAAI1D,KAGL+G,EAAIiB,EACJ9H,GAAO,OAGG,IAAN8H,GAAahI,EAAE0D,EAAIwE,KAbElI,KAkB3B,OAAOE,CACR,CCkEKqI,CAAOjG,GAGNvC,EAEJsI,EAAMtI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIsC,EAAE/B,OAAQP,IAC1B,GAAgB,MAAXsC,EAAGtC,GAAc,CACrBoI,EAAQpI,EAAI,EACZ,KACA,CAGFqI,GAAOD,CACP,CAuBD,OArBAlI,EAAMH,EAAIuC,EACL+F,EAAM,GAELA,IE9GqB,MFgHzBD,EAAQI,KAGTtI,EAAMA,EAAI8D,UAAWoE,IAGrBlI,EAAMA,EAAI8D,UAAW,GAUfxC,GANP6G,EAAMP,GADNO,EAAMN,GAAMM,EEzHe,KFdJ,EAwIa,OAGpCnI,EAAMwH,GAAMxH,EA5Ic,GA4Ia,KAAM8D,UAAW,EA5I9B,IAgJ3B","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,83,84]} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index b38f619..0000000 --- a/stats.html +++ /dev/null @@ -1,4842 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From 9c48879ea0e40e2b4f9304a721bc3ed740d99739 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Fri, 1 Mar 2024 10:28:08 +0000 Subject: [PATCH 105/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 49 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 797 ---- .github/workflows/publish.yml | 249 -- .github/workflows/test.yml | 100 - .github/workflows/test_bundles.yml | 189 - .github/workflows/test_coverage.yml | 132 - .github/workflows/test_install.yml | 86 - .gitignore | 188 - .npmignore | 229 - .npmrc | 28 - CHANGELOG.md | 5 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 --- README.md | 44 +- SECURITY.md | 5 - benchmark/benchmark.js | 52 - branches.md | 56 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 4842 +++++++++++++++++++++ test/dist/test.js | 33 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 51 files changed, 4863 insertions(+), 4268 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 SECURITY.md delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 60d743f..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index 3334c04..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2024-03-01T03:59:25.498Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index e4f10fe..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index b5291db..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # v0.12.1 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 2984901..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index e313406..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 # v3.0.3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index 9106b5d..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,797 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 -r sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA corresponding to v2.0.0 - uses: act10ns/slack@ed1309ab9862e57e9e583e51c7889486b9a00b0f - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index a8a9c60..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,33 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2023 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 main = require( './../../dist' ); - - -// TESTS // - -tape( 'main export is defined', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( main !== void 0, true, 'main export is defined' ); - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From e1f842285c5db5d5bbf4d6b27c57fb45697ea966 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 1 Apr 2024 04:56:44 +0000 Subject: [PATCH 106/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 8334daf..0e4d2c9 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.2.2", "@stdlib/string-left-pad": "^0.2.1", "@stdlib/string-repeat": "^0.2.1", - "@stdlib/string-right-pad": "^0.2.1" + "@stdlib/string-right-pad": "^0.2.1", + "@stdlib/error-tools-fmtprodmsg": "^0.2.1" }, "devDependencies": { "@stdlib/assert-is-string": "^0.2.1", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From 59b941555be693bb2d0855fdd44222d72e699835 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 1 Apr 2024 09:49:34 +0000 Subject: [PATCH 107/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 4842 ---------------------------------------------------- 4 files changed, 4925 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 84d9489..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( '@stdlib/constants-float32-pinf' ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( '@stdlib/constants-float32-ninf' ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 578342d..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2024 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var s=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===s}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,d="function"==typeof Uint32Array;var h="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof h)return!1;try{e=new h(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(d&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var V=Object.defineProperty;function j(r){return"number"==typeof r}function x(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=R.call(t,W,"$1e"),t=R.call(t,M,"e"),t=R.call(t,Z,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=R.call(t,$,"e+0$1"),t=R.call(t,U,"e-0$1"),r.alternate&&(t=R.call(t,C,"$1."),t=R.call(t,G,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===N.call(r.specifier)?N.call(t):P.call(t)}function X(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=z(a)?String(n.arg):Y(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=L(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=A(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=(l=n.arg,f=n.width,p=n.padRight,g=void 0,(g=f-l.length)<0?l:l=p?l+X(g):X(g)+l)),o+=n.arg||"",u+=1}return o}var H=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function J(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function K(r){var e,t,n,i;for(t=[],i=0,n=H.exec(r);n;)(e=r.slice(i,H.lastIndex-n[0].length)).length&&t.push(e),t.push(J(n)),i=H.lastIndex,n=H.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function Q(r){var e,t;if("string"!=typeof r)throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=[K(r)],t=1;tdr&&_(e=r)===e;var e}function vr(r){return cr(r)&&hr(r)}function yr(r){return pr(r)&&hr(r.valueOf())}function mr(r){return vr(r)||yr(r)}function wr(r){return vr(r)&&r>=0}function br(r){return yr(r)&&r.valueOf()>=0}function Er(r){return wr(r)||br(r)}function Sr(r){return"string"==typeof r}ur(mr,"isPrimitive",vr),ur(mr,"isObject",yr),ur(Er,"isPrimitive",wr),ur(Er,"isObject",br);var _r=String.prototype.valueOf;var Tr=e();function Vr(r){return"object"==typeof r&&(r instanceof String||(Tr?function(r){try{return _r.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function jr(r){return Sr(r)||Vr(r)}ur(jr,"isPrimitive",Sr),ur(jr,"isObject",Vr);var xr=9007199254740991,Ar=void 0!==String.prototype.repeat;var Fr=String.prototype.repeat;var kr=Ar?function(r,e){return Fr.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Or=Math.ceil;function Ir(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),r+kr(t,n))}(r,e,n)}function Pr(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),kr(t,n)+r)}(r,e,n)}function Nr(r,e){if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return kr(r,e)}function Rr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}var $r=149,Ur=24;function Cr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=Nr("1",8))+(n=Nr("0",23));if(r!=r)return t+(i=Nr("1",8))+(n="1"+Nr("0",22));if(0===r)return t+(i=Nr("0",8))+(n=Nr("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=Rr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=$r,n=0;n<$r&&((t=2*r)>=1?(r=t-1,e+="1",i===$r&&(i=n)):(r=t,e+="0"),!(1===t||n-i>Ur));n++);return e}(o),a)i=a.length-1;else{for(u=0;u\n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\targs = [ tokenize( str ) ];\n\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\targs.push( arguments[ i ] );\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","FLOAT64_MAX_SAFE_INTEGER","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","p","RangeError","lpad","div2","y","MAX_ITER","MAX_BITS","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CACnB,CAAC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAEd,CAAC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAEN,CAAC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CCpFA,IAAI8D,EAAMhC,KAAKgC,IACXjB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Bc,EAAUjB,OAAOzD,UAAU0E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcpB,GACtB,IAAIqB,EACAxE,EACAyE,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMzC,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7DyE,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAMyE,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAMyE,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,EAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEXxE,EAAMyE,EAAEE,cAAeH,IAEvBxE,EAAMyE,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAM+D,EAAQ5D,KAAMH,EAAKsE,EAAoB,OAC7CtE,EAAM+D,EAAQ5D,KAAMH,EAAKqE,EAAoB,KAC7CrE,EAAM+D,EAAQ5D,KAAMH,EAAKoE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAIlD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAM+D,EAAQ5D,KAAMH,EAAKgE,EAAmB,SAC5ChE,EAAM+D,EAAQ5D,KAAMH,EAAKiE,EAAmB,SACvCd,EAAMS,YACV5D,EAAM+D,EAAQ5D,KAAMH,EAAKkE,EAAgB,OACzClE,EAAM+D,EAAQ5D,KAAMH,EAAKmE,EAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS8E,EAAQ5C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CCLA,IAAI+E,EAAejC,OAAOiC,aACtBC,EAAQC,MACRC,EAAUC,MAAMD,QAYpB,SAASE,EAAYjC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIqF,MAAQlC,EAAMkC,OAAS,GAC3BrF,EAAIsF,QAAUnC,EAAMmC,QACbtF,CACR,CAmBA,SAASuF,EAAmBC,GAC3B,IAAIC,EACAJ,EACAlC,EACAuC,EACAC,EACA3F,EACA4F,EACAzD,EACA0D,ED/BcxD,EAAKC,EAAOC,EAC1BE,ECgCJ,IAAMyC,EAASM,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFAxF,EAAM,GACN4F,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GADAgB,EAAQqC,EAAQrD,GCtDS,iBDuDVgB,EACdnD,GAAOmD,MACD,CAGN,GAFAsC,OAAgC,IAApBtC,EAAMM,YAClBN,EAAQiC,EAAYjC,IACRE,UACX,MAAM,IAAIyC,UAAW,oEAAqE3D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMmC,UACVM,EAAMzC,EAAMmC,SAEbD,EAAQlC,EAAMkC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMxB,OAAQgC,IAErB,IAAK,IACJ1C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmBwE,GAGtC,GAAqB,MAAhBvC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAU0C,UAAWL,GAAO,IAC1CA,GAAO,EACFZ,EAAO7B,EAAMb,OACjB,MAAM,IAAIwD,UAAW,wCAA0CF,EAAM,6BAA+BzC,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKmD,GACqB,MAApBtC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWL,GAAO,IAC9CA,GAAO,EACFZ,EAAO7B,EAAMM,WACjB,MAAM,IAAIqC,UAAW,4CAA8CF,EAAM,6BAA+BzC,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBgC,GAAY,EAEb,CAGF,OADAtC,EAAMG,IAAM2C,UAAWL,GACdzC,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECoC,IACJtC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMuB,EAAO7B,EAAMG,KAAQ,CAE1B,IADAqC,EAAMpC,SAAUJ,EAAMG,IAAK,KAChB,GAAKqC,EAAM,IACrB,MAAM,IAAIzE,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ0B,EAAOW,GACpB7C,OAAQK,EAAMG,KACdyB,EAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLtC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,EAAcpB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIZ,OAASS,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,KDxJSjB,ECwJOc,EAAMG,IDxJRhB,ECwJaa,EAAMb,MDxJZC,ECwJmBY,EAAMO,SDvJnDjB,YAAMH,EAAQD,EAAIK,QACX,EACHL,EAERA,EAAM,EACLA,EAAMyC,EAAQrC,GACdqC,EAAQrC,GAAQJ,ICmJfrC,GAAOmD,EAAMG,KAAO,GACpBsC,GAAO,CACP,CAEF,OAAO5F,CACR,CE3LA,IAAIoG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAInD,EAAQ,CACXmC,QAAagB,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChBhE,MAASgE,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASoD,EAAgBlE,GACxB,IAAImE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMrE,GACTiE,IACPE,EAAUnE,EAAIsE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI5D,SACxCA,QACZ8C,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMrE,GAMlB,OAJAmE,EAAUnE,EAAIsE,MAAOF,IACR/D,QACZ8C,EAAOqB,KAAML,GAEPhB,CACR,CCtCA,SAASsB,EAAQzE,GAChB,IAAI0E,EACA5E,EAEJ,GCf0B,iBDeVE,EACf,MAAM,IAAIyD,UAAWgB,EAAQ,kEAAmEzE,IAGjG,IADA0E,EAAO,CAAEC,EAAU3E,IACbF,EAAI,EAAGA,EAAI8D,UAAUvD,OAAQP,IAClC4E,EAAKF,KAAMZ,UAAW9D,IAEvB,OAAO8E,EAAYC,MAAO,KAAMH,EACjC,CE7BA,IAAII,GAAiB/H,OAAOC,UACxBF,GAAQgI,GAAe7H,SACvB8H,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA7F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CACP,CAAC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGKyH,GACa5G,EDqBlB,SAAyB6G,EAAKC,EAAMC,GACnC,IAAI3I,EACA4I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB3I,GAAMgB,KAAM2H,GAC3D,MAAM,IAAIhC,UAAWgB,EAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B7I,GAAMgB,KAAM6H,GACzE,MAAM,IAAIlC,UAAWgB,EAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAarH,KAAM2H,EAAKC,IACxBL,GAAavH,KAAM2H,EAAKC,IAGxB1I,EAAYyI,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW/H,MAGzB6H,EAAIM,UAAY/I,GAEhByI,EAAKC,GAASC,EAAW/H,OAG3BiI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAIjH,MAAO,wHASlB,OANKgH,GAAUd,IACdA,GAAajH,KAAM2H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAanH,KAAM2H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAM9H,GAC7C8B,GAAgB+F,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZzI,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDcUuI,CAAM1I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS2I,GAAa3I,IAAW4I,GAAU5I,EAC5C,CCoBA6I,GAAArJ,GAAA,cAAAmJ,IACAE,GAAArJ,GAAA,WAAAoJ,ICnBA,IAAIE,GAAetI,GAAOuI,kBClB1B,SAASC,GAAWhJ,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWqH,EDDXjJ,KCEaiJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAWhJ,GACnB,OACC+B,GAAU/B,IACVkJ,GAAOlJ,EAET,CCLA,SAASgJ,GAAWhJ,GACnB,OACC+B,GAAU/B,IACVkJ,GAAOlJ,EAAMmJ,UAEf,CCGA,SAASH,GAAWhJ,GACnB,OAAS2I,GAAa3I,IAAW4I,GAAU5I,EAC5C,CCXA,SAASoJ,GAAsBpJ,GAC9B,OACCgJ,GAAWhJ,IACXA,GAAS,CAEX,CCLA,SAASoJ,GAAsBpJ,GAC9B,OACCgJ,GAAWhJ,IACXA,EAAMmJ,WAAa,CAErB,CCQA,SAASC,GAAsBpJ,GAC9B,OAAS2I,GAAa3I,IAAW4I,GAAU5I,EAC5C,CCtBA,SAASqJ,GAAUrJ,GAClB,MAA0B,iBAAVA,CACjB,CCmCA6I,GAAArJ,GAAA,cAAAmJ,IACAE,GAAArJ,GAAA,WAAAoJ,ICAAC,GAAArJ,GAAA,cAAAmJ,IACAE,GAAArJ,GAAA,WAAAoJ,ICpDA,IAAIO,GAAUtG,OAAOzD,UAAU+J,QCQ/B,IAAIrK,GAAMa,IAmBV,SAAS0J,GAAUrJ,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAmJ,GAAQjJ,KAAMF,IACP,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDaUuI,CAAM1I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAASqJ,GAAUrJ,GAClB,OAAS2I,GAAa3I,IAAW4I,GAAU5I,EAC5C,CCsBA6I,GAAArJ,GAAA,cAAAmJ,IACAE,GAAArJ,GAAA,WAAAoJ,IChBA,IAAIU,GAA2B,iBC7B3B3I,QAA4C,IAA5BkC,OAAOzD,UAAUmK,OCArC,IAAIA,GAAS1G,OAAOzD,UAAUmK,OCmC9B,IAAApG,GATKqG,GCFL,SAAiBpH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIwH,EACAC,EACJ,GAAoB,IAAftH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAwH,EAAM,GACNC,EAAMzH,EAGY,IAAP,EAAJyH,KACLD,GAAOrH,GAIK,IADbsH,KAAS,IAKTtH,GAAOA,EAER,OAAOqH,CACR,EC1DIE,GAAO9H,KAAK8H,KCWhB,SAASC,GAAMxH,EAAKyH,EAAKrH,GACxB,IAAIsH,EACJ,IAAMT,GAAUjH,GACf,MAAM,IAAIyD,UAAWgB,EAAQ,kEAAmEzE,IAEjG,IAAMgH,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUvD,OAAS,EAAI,CAE3B,IAAM4G,GADNS,EAAItH,GAEH,MAAM,IAAIqD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAErH,OACN,MAAM,IAAIsH,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAezH,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHG,EAAMmH,GAAQ/G,EAAKP,GAC3B,CDsBQkB,CAAMf,EAAKyH,EAAKC,EACxB,CEvBA,SAASE,GAAM5H,EAAKyH,EAAKrH,GACxB,IAAIsH,EACJ,IAAMT,GAAUjH,GACf,MAAM,IAAIyD,UAAWgB,EAAQ,kEAAmEzE,IAEjG,IAAMgH,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUvD,OAAS,EAAI,CAE3B,IAAM4G,GADNS,EAAItH,GAEH,MAAM,IAAIqD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAErH,OACN,MAAM,IAAIsH,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAezH,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHsH,GAAQ/G,EAAKP,GAAMG,EAC3B,CDsBQe,CAAMf,EAAKyH,EAAKC,EACxB,CE1BA,SAASP,GAAQnH,EAAKH,GACrB,IAAMoH,GAAUjH,GACf,MAAM,IAAIyD,UAAWgB,EAAQ,kEAAmEzE,IAEjG,IAAMgH,GAAsBnH,GAC3B,MAAM,IAAI4D,UAAWgB,EAAQ,gFAAiF5E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAASgI,GAAMhB,GAKd,IAJA,IACIiB,EADA9H,EAAM,GAIF6G,EAAI,GAIV7G,GAHD8H,EAAIjB,EAAI,MACRA,EAAIrH,EAAOsI,IAEJ,IAAM9H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC3CA,IAAI+H,GAAW,IACXC,GAAW,GCwEf,SAASC,GAAiBpB,GACzB,IAAIqB,EACA5G,EACAtB,EACAmI,EACAtI,EACAuC,EACAtC,EASJ,GALCwB,EADIuF,EAAI,GAAO,EAAIA,IAAMtH,EAClB,IAEA,IAGHsH,IAAMnI,GAAQmI,IAAMtH,EAIxB,OAAO+B,GAFP6G,EAAMhB,GAAQ,IA3EQ,KA4EtBnH,EAAMmH,GAAQ,IA7EW,KAiF1B,GAAKN,GAAMA,EAIV,OAAOvF,GAFP6G,EAAMhB,GAAQ,IAlFQ,KAmFtBnH,EAAM,IAAMmH,GAAQ,IAAKiB,KAI1B,GAAW,IAANvB,EAIJ,OAAOvF,GAFP6G,EAAMhB,GAAQ,IAzFQ,KA0FtBnH,EAAMmH,GAAQ,IA3FW,KA2G1B,GAPA/E,GANAyE,ECnFD,SAAcA,GACb,OAAOpH,KAAKgC,IAAKoF,EAClB,CDiFKpF,CAAKoF,KAGThH,EAAIL,EAAOqH,IAMXhH,EAAIgI,GAAMhI,GACVuC,EDlGD,SAAgByE,GACf,IAAI7G,EACA8H,EACAhI,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAAN6G,EACJ,OAAO7G,EAKR,IAHAwD,EAAIuE,GAGEjI,EAAI,EAAGA,EAAIiI,MAChBD,EAAQ,EAAJjB,IACM,GACTA,EAAIiB,EAAI,EACR9H,GAAO,IACFwD,IAAMuE,KACVvE,EAAI1D,KAGL+G,EAAIiB,EACJ9H,GAAO,OAGG,IAAN8H,GAAahI,EAAE0D,EAAIwE,KAbElI,KAkB3B,OAAOE,CACR,CCkEKqI,CAAOjG,GAGNvC,EAEJsI,EAAMtI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIsC,EAAE/B,OAAQP,IAC1B,GAAgB,MAAXsC,EAAGtC,GAAc,CACrBoI,EAAQpI,EAAI,EACZ,KACA,CAGFqI,GAAOD,CACP,CAuBD,OArBAlI,EAAMH,EAAIuC,EACL+F,EAAM,GAELA,IE9GqB,MFgHzBD,EAAQI,KAGTtI,EAAMA,EAAI8D,UAAWoE,IAGrBlI,EAAMA,EAAI8D,UAAW,GAUfxC,GANP6G,EAAMP,GADNO,EAAMN,GAAMM,EEzHe,KFdJ,EAwIa,OAGpCnI,EAAMwH,GAAMxH,EA5Ic,GA4Ia,KAAM8D,UAAW,EA5I9B,IAgJ3B","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,81,82]} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index 0dae554..0000000 --- a/stats.html +++ /dev/null @@ -1,4842 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From aa59bde0f3e09f66d6221b422ff61719373ed736 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 1 Apr 2024 09:49:45 +0000 Subject: [PATCH 108/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 49 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 797 ---- .github/workflows/publish.yml | 249 -- .github/workflows/test.yml | 100 - .github/workflows/test_bundles.yml | 189 - .github/workflows/test_coverage.yml | 132 - .github/workflows/test_install.yml | 86 - .gitignore | 188 - .npmignore | 229 - .npmrc | 31 - CHANGELOG.md | 5 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 --- README.md | 44 +- SECURITY.md | 5 - benchmark/benchmark.js | 52 - branches.md | 56 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 4842 +++++++++++++++++++++ test/dist/test.js | 33 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 51 files changed, 4863 insertions(+), 4271 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 SECURITY.md delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 60d743f..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index 89a37cd..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2024-04-01T03:17:50.690Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index e4f10fe..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index b5291db..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # v0.12.1 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 2984901..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index e313406..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 # v3.0.3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index ec90164..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,797 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 -r sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA - uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index a8a9c60..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,33 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2023 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 main = require( './../../dist' ); - - -// TESTS // - -tape( 'main export is defined', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( main !== void 0, true, 'main export is defined' ); - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 928673de385d1cf72a5ec1443f6551e8b838a7ee Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Fri, 12 Apr 2024 01:14:34 +0000 Subject: [PATCH 109/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 8334daf..0e4d2c9 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.2.2", "@stdlib/string-left-pad": "^0.2.1", "@stdlib/string-repeat": "^0.2.1", - "@stdlib/string-right-pad": "^0.2.1" + "@stdlib/string-right-pad": "^0.2.1", + "@stdlib/error-tools-fmtprodmsg": "^0.2.1" }, "devDependencies": { "@stdlib/assert-is-string": "^0.2.1", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From 8f4ab1b2686662e3ef64524baf0a026e2720c3a9 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Fri, 12 Apr 2024 06:28:15 +0000 Subject: [PATCH 110/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 4842 ---------------------------------------------------- 4 files changed, 4925 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 84d9489..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( '@stdlib/constants-float32-pinf' ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( '@stdlib/constants-float32-ninf' ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 578342d..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2024 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var s=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===s}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,d="function"==typeof Uint32Array;var h="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof h)return!1;try{e=new h(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(d&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var V=Object.defineProperty;function j(r){return"number"==typeof r}function x(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=R.call(t,W,"$1e"),t=R.call(t,M,"e"),t=R.call(t,Z,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=R.call(t,$,"e+0$1"),t=R.call(t,U,"e-0$1"),r.alternate&&(t=R.call(t,C,"$1."),t=R.call(t,G,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===N.call(r.specifier)?N.call(t):P.call(t)}function X(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=z(a)?String(n.arg):Y(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=L(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=A(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=(l=n.arg,f=n.width,p=n.padRight,g=void 0,(g=f-l.length)<0?l:l=p?l+X(g):X(g)+l)),o+=n.arg||"",u+=1}return o}var H=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function J(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function K(r){var e,t,n,i;for(t=[],i=0,n=H.exec(r);n;)(e=r.slice(i,H.lastIndex-n[0].length)).length&&t.push(e),t.push(J(n)),i=H.lastIndex,n=H.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function Q(r){var e,t;if("string"!=typeof r)throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=[K(r)],t=1;tdr&&_(e=r)===e;var e}function vr(r){return cr(r)&&hr(r)}function yr(r){return pr(r)&&hr(r.valueOf())}function mr(r){return vr(r)||yr(r)}function wr(r){return vr(r)&&r>=0}function br(r){return yr(r)&&r.valueOf()>=0}function Er(r){return wr(r)||br(r)}function Sr(r){return"string"==typeof r}ur(mr,"isPrimitive",vr),ur(mr,"isObject",yr),ur(Er,"isPrimitive",wr),ur(Er,"isObject",br);var _r=String.prototype.valueOf;var Tr=e();function Vr(r){return"object"==typeof r&&(r instanceof String||(Tr?function(r){try{return _r.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function jr(r){return Sr(r)||Vr(r)}ur(jr,"isPrimitive",Sr),ur(jr,"isObject",Vr);var xr=9007199254740991,Ar=void 0!==String.prototype.repeat;var Fr=String.prototype.repeat;var kr=Ar?function(r,e){return Fr.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Or=Math.ceil;function Ir(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),r+kr(t,n))}(r,e,n)}function Pr(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),kr(t,n)+r)}(r,e,n)}function Nr(r,e){if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return kr(r,e)}function Rr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}var $r=149,Ur=24;function Cr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=Nr("1",8))+(n=Nr("0",23));if(r!=r)return t+(i=Nr("1",8))+(n="1"+Nr("0",22));if(0===r)return t+(i=Nr("0",8))+(n=Nr("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=Rr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=$r,n=0;n<$r&&((t=2*r)>=1?(r=t-1,e+="1",i===$r&&(i=n)):(r=t,e+="0"),!(1===t||n-i>Ur));n++);return e}(o),a)i=a.length-1;else{for(u=0;u\n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\targs = [ tokenize( str ) ];\n\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\targs.push( arguments[ i ] );\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","FLOAT64_MAX_SAFE_INTEGER","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","p","RangeError","lpad","div2","y","MAX_ITER","MAX_BITS","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CACnB,CAAC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAEd,CAAC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAEN,CAAC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CCpFA,IAAI8D,EAAMhC,KAAKgC,IACXjB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Bc,EAAUjB,OAAOzD,UAAU0E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcpB,GACtB,IAAIqB,EACAxE,EACAyE,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMzC,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7DyE,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAMyE,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAMyE,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,EAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEXxE,EAAMyE,EAAEE,cAAeH,IAEvBxE,EAAMyE,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAM+D,EAAQ5D,KAAMH,EAAKsE,EAAoB,OAC7CtE,EAAM+D,EAAQ5D,KAAMH,EAAKqE,EAAoB,KAC7CrE,EAAM+D,EAAQ5D,KAAMH,EAAKoE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAIlD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAM+D,EAAQ5D,KAAMH,EAAKgE,EAAmB,SAC5ChE,EAAM+D,EAAQ5D,KAAMH,EAAKiE,EAAmB,SACvCd,EAAMS,YACV5D,EAAM+D,EAAQ5D,KAAMH,EAAKkE,EAAgB,OACzClE,EAAM+D,EAAQ5D,KAAMH,EAAKmE,EAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS8E,EAAQ5C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CCLA,IAAI+E,EAAejC,OAAOiC,aACtBC,EAAQC,MACRC,EAAUC,MAAMD,QAYpB,SAASE,EAAYjC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIqF,MAAQlC,EAAMkC,OAAS,GAC3BrF,EAAIsF,QAAUnC,EAAMmC,QACbtF,CACR,CAmBA,SAASuF,EAAmBC,GAC3B,IAAIC,EACAJ,EACAlC,EACAuC,EACAC,EACA3F,EACA4F,EACAzD,EACA0D,ED/BcxD,EAAKC,EAAOC,EAC1BE,ECgCJ,IAAMyC,EAASM,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFAxF,EAAM,GACN4F,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GADAgB,EAAQqC,EAAQrD,GCtDS,iBDuDVgB,EACdnD,GAAOmD,MACD,CAGN,GAFAsC,OAAgC,IAApBtC,EAAMM,YAClBN,EAAQiC,EAAYjC,IACRE,UACX,MAAM,IAAIyC,UAAW,oEAAqE3D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMmC,UACVM,EAAMzC,EAAMmC,SAEbD,EAAQlC,EAAMkC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMxB,OAAQgC,IAErB,IAAK,IACJ1C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmBwE,GAGtC,GAAqB,MAAhBvC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAU0C,UAAWL,GAAO,IAC1CA,GAAO,EACFZ,EAAO7B,EAAMb,OACjB,MAAM,IAAIwD,UAAW,wCAA0CF,EAAM,6BAA+BzC,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKmD,GACqB,MAApBtC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWL,GAAO,IAC9CA,GAAO,EACFZ,EAAO7B,EAAMM,WACjB,MAAM,IAAIqC,UAAW,4CAA8CF,EAAM,6BAA+BzC,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBgC,GAAY,EAEb,CAGF,OADAtC,EAAMG,IAAM2C,UAAWL,GACdzC,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECoC,IACJtC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMuB,EAAO7B,EAAMG,KAAQ,CAE1B,IADAqC,EAAMpC,SAAUJ,EAAMG,IAAK,KAChB,GAAKqC,EAAM,IACrB,MAAM,IAAIzE,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ0B,EAAOW,GACpB7C,OAAQK,EAAMG,KACdyB,EAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLtC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,EAAcpB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIZ,OAASS,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,KDxJSjB,ECwJOc,EAAMG,IDxJRhB,ECwJaa,EAAMb,MDxJZC,ECwJmBY,EAAMO,SDvJnDjB,YAAMH,EAAQD,EAAIK,QACX,EACHL,EAERA,EAAM,EACLA,EAAMyC,EAAQrC,GACdqC,EAAQrC,GAAQJ,ICmJfrC,GAAOmD,EAAMG,KAAO,GACpBsC,GAAO,CACP,CAEF,OAAO5F,CACR,CE3LA,IAAIoG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAInD,EAAQ,CACXmC,QAAagB,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChBhE,MAASgE,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASoD,EAAgBlE,GACxB,IAAImE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMrE,GACTiE,IACPE,EAAUnE,EAAIsE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI5D,SACxCA,QACZ8C,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMrE,GAMlB,OAJAmE,EAAUnE,EAAIsE,MAAOF,IACR/D,QACZ8C,EAAOqB,KAAML,GAEPhB,CACR,CCtCA,SAASsB,EAAQzE,GAChB,IAAI0E,EACA5E,EAEJ,GCf0B,iBDeVE,EACf,MAAM,IAAIyD,UAAWgB,EAAQ,kEAAmEzE,IAGjG,IADA0E,EAAO,CAAEC,EAAU3E,IACbF,EAAI,EAAGA,EAAI8D,UAAUvD,OAAQP,IAClC4E,EAAKF,KAAMZ,UAAW9D,IAEvB,OAAO8E,EAAYC,MAAO,KAAMH,EACjC,CE7BA,IAAII,GAAiB/H,OAAOC,UACxBF,GAAQgI,GAAe7H,SACvB8H,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA7F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CACP,CAAC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGKyH,GACa5G,EDqBlB,SAAyB6G,EAAKC,EAAMC,GACnC,IAAI3I,EACA4I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB3I,GAAMgB,KAAM2H,GAC3D,MAAM,IAAIhC,UAAWgB,EAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B7I,GAAMgB,KAAM6H,GACzE,MAAM,IAAIlC,UAAWgB,EAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAarH,KAAM2H,EAAKC,IACxBL,GAAavH,KAAM2H,EAAKC,IAGxB1I,EAAYyI,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW/H,MAGzB6H,EAAIM,UAAY/I,GAEhByI,EAAKC,GAASC,EAAW/H,OAG3BiI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAIjH,MAAO,wHASlB,OANKgH,GAAUd,IACdA,GAAajH,KAAM2H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAanH,KAAM2H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAM9H,GAC7C8B,GAAgB+F,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZzI,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDcUuI,CAAM1I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS2I,GAAa3I,IAAW4I,GAAU5I,EAC5C,CCoBA6I,GAAArJ,GAAA,cAAAmJ,IACAE,GAAArJ,GAAA,WAAAoJ,ICnBA,IAAIE,GAAetI,GAAOuI,kBClB1B,SAASC,GAAWhJ,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWqH,EDDXjJ,KCEaiJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAWhJ,GACnB,OACC+B,GAAU/B,IACVkJ,GAAOlJ,EAET,CCLA,SAASgJ,GAAWhJ,GACnB,OACC+B,GAAU/B,IACVkJ,GAAOlJ,EAAMmJ,UAEf,CCGA,SAASH,GAAWhJ,GACnB,OAAS2I,GAAa3I,IAAW4I,GAAU5I,EAC5C,CCXA,SAASoJ,GAAsBpJ,GAC9B,OACCgJ,GAAWhJ,IACXA,GAAS,CAEX,CCLA,SAASoJ,GAAsBpJ,GAC9B,OACCgJ,GAAWhJ,IACXA,EAAMmJ,WAAa,CAErB,CCQA,SAASC,GAAsBpJ,GAC9B,OAAS2I,GAAa3I,IAAW4I,GAAU5I,EAC5C,CCtBA,SAASqJ,GAAUrJ,GAClB,MAA0B,iBAAVA,CACjB,CCmCA6I,GAAArJ,GAAA,cAAAmJ,IACAE,GAAArJ,GAAA,WAAAoJ,ICAAC,GAAArJ,GAAA,cAAAmJ,IACAE,GAAArJ,GAAA,WAAAoJ,ICpDA,IAAIO,GAAUtG,OAAOzD,UAAU+J,QCQ/B,IAAIrK,GAAMa,IAmBV,SAAS0J,GAAUrJ,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAmJ,GAAQjJ,KAAMF,IACP,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDaUuI,CAAM1I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAASqJ,GAAUrJ,GAClB,OAAS2I,GAAa3I,IAAW4I,GAAU5I,EAC5C,CCsBA6I,GAAArJ,GAAA,cAAAmJ,IACAE,GAAArJ,GAAA,WAAAoJ,IChBA,IAAIU,GAA2B,iBC7B3B3I,QAA4C,IAA5BkC,OAAOzD,UAAUmK,OCArC,IAAIA,GAAS1G,OAAOzD,UAAUmK,OCmC9B,IAAApG,GATKqG,GCFL,SAAiBpH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIwH,EACAC,EACJ,GAAoB,IAAftH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAwH,EAAM,GACNC,EAAMzH,EAGY,IAAP,EAAJyH,KACLD,GAAOrH,GAIK,IADbsH,KAAS,IAKTtH,GAAOA,EAER,OAAOqH,CACR,EC1DIE,GAAO9H,KAAK8H,KCWhB,SAASC,GAAMxH,EAAKyH,EAAKrH,GACxB,IAAIsH,EACJ,IAAMT,GAAUjH,GACf,MAAM,IAAIyD,UAAWgB,EAAQ,kEAAmEzE,IAEjG,IAAMgH,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUvD,OAAS,EAAI,CAE3B,IAAM4G,GADNS,EAAItH,GAEH,MAAM,IAAIqD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAErH,OACN,MAAM,IAAIsH,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAezH,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHG,EAAMmH,GAAQ/G,EAAKP,GAC3B,CDsBQkB,CAAMf,EAAKyH,EAAKC,EACxB,CEvBA,SAASE,GAAM5H,EAAKyH,EAAKrH,GACxB,IAAIsH,EACJ,IAAMT,GAAUjH,GACf,MAAM,IAAIyD,UAAWgB,EAAQ,kEAAmEzE,IAEjG,IAAMgH,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUvD,OAAS,EAAI,CAE3B,IAAM4G,GADNS,EAAItH,GAEH,MAAM,IAAIqD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAErH,OACN,MAAM,IAAIsH,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAezH,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHsH,GAAQ/G,EAAKP,GAAMG,EAC3B,CDsBQe,CAAMf,EAAKyH,EAAKC,EACxB,CE1BA,SAASP,GAAQnH,EAAKH,GACrB,IAAMoH,GAAUjH,GACf,MAAM,IAAIyD,UAAWgB,EAAQ,kEAAmEzE,IAEjG,IAAMgH,GAAsBnH,GAC3B,MAAM,IAAI4D,UAAWgB,EAAQ,gFAAiF5E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAASgI,GAAMhB,GAKd,IAJA,IACIiB,EADA9H,EAAM,GAIF6G,EAAI,GAIV7G,GAHD8H,EAAIjB,EAAI,MACRA,EAAIrH,EAAOsI,IAEJ,IAAM9H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC3CA,IAAI+H,GAAW,IACXC,GAAW,GCwEf,SAASC,GAAiBpB,GACzB,IAAIqB,EACA5G,EACAtB,EACAmI,EACAtI,EACAuC,EACAtC,EASJ,GALCwB,EADIuF,EAAI,GAAO,EAAIA,IAAMtH,EAClB,IAEA,IAGHsH,IAAMnI,GAAQmI,IAAMtH,EAIxB,OAAO+B,GAFP6G,EAAMhB,GAAQ,IA3EQ,KA4EtBnH,EAAMmH,GAAQ,IA7EW,KAiF1B,GAAKN,GAAMA,EAIV,OAAOvF,GAFP6G,EAAMhB,GAAQ,IAlFQ,KAmFtBnH,EAAM,IAAMmH,GAAQ,IAAKiB,KAI1B,GAAW,IAANvB,EAIJ,OAAOvF,GAFP6G,EAAMhB,GAAQ,IAzFQ,KA0FtBnH,EAAMmH,GAAQ,IA3FW,KA2G1B,GAPA/E,GANAyE,ECnFD,SAAcA,GACb,OAAOpH,KAAKgC,IAAKoF,EAClB,CDiFKpF,CAAKoF,KAGThH,EAAIL,EAAOqH,IAMXhH,EAAIgI,GAAMhI,GACVuC,EDlGD,SAAgByE,GACf,IAAI7G,EACA8H,EACAhI,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAAN6G,EACJ,OAAO7G,EAKR,IAHAwD,EAAIuE,GAGEjI,EAAI,EAAGA,EAAIiI,MAChBD,EAAQ,EAAJjB,IACM,GACTA,EAAIiB,EAAI,EACR9H,GAAO,IACFwD,IAAMuE,KACVvE,EAAI1D,KAGL+G,EAAIiB,EACJ9H,GAAO,OAGG,IAAN8H,GAAahI,EAAE0D,EAAIwE,KAbElI,KAkB3B,OAAOE,CACR,CCkEKqI,CAAOjG,GAGNvC,EAEJsI,EAAMtI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIsC,EAAE/B,OAAQP,IAC1B,GAAgB,MAAXsC,EAAGtC,GAAc,CACrBoI,EAAQpI,EAAI,EACZ,KACA,CAGFqI,GAAOD,CACP,CAuBD,OArBAlI,EAAMH,EAAIuC,EACL+F,EAAM,GAELA,IE9GqB,MFgHzBD,EAAQI,KAGTtI,EAAMA,EAAI8D,UAAWoE,IAGrBlI,EAAMA,EAAI8D,UAAW,GAUfxC,GANP6G,EAAMP,GADNO,EAAMN,GAAMM,EEzHe,KFdJ,EAwIa,OAGpCnI,EAAMwH,GAAMxH,EA5Ic,GA4Ia,KAAM8D,UAAW,EA5I9B,IAgJ3B","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,81,82]} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index 0dae554..0000000 --- a/stats.html +++ /dev/null @@ -1,4842 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From 849337d8a4654192b69a4980686bf5af921cbbf7 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Fri, 12 Apr 2024 06:28:34 +0000 Subject: [PATCH 111/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 49 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 797 ---- .github/workflows/publish.yml | 249 -- .github/workflows/test.yml | 100 - .github/workflows/test_bundles.yml | 189 - .github/workflows/test_coverage.yml | 134 - .github/workflows/test_install.yml | 86 - .gitignore | 188 - .npmignore | 229 - .npmrc | 31 - CHANGELOG.md | 5 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 --- README.md | 44 +- SECURITY.md | 5 - benchmark/benchmark.js | 52 - branches.md | 56 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 4842 +++++++++++++++++++++ test/dist/test.js | 33 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 83 - test/test.js | 162 - 50 files changed, 4863 insertions(+), 4272 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 SECURITY.md delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 60d743f..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index e4f10fe..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index b5291db..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # v0.12.1 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 2984901..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index e313406..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 # v3.0.3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index ec90164..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,797 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 -r sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA - uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 - with: - status: ${{ job.status }} - steps: ${{ toJson(steps) }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index a8a9c60..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,33 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2023 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 main = require( './../../dist' ); - - -// TESTS // - -tape( 'main export is defined', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( main !== void 0, true, 'main export is defined' ); - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index 806d066..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index b82fdb9..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 3de1e0c..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} \ No newline at end of file diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index 17a5bc3..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} \ No newline at end of file diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index dc62b98..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 9f26b2a8e9ef2a46625bb5f8cb1d6cc588cc2ff1 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sat, 13 Apr 2024 01:05:05 +0000 Subject: [PATCH 112/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 8334daf..0e4d2c9 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.2.2", "@stdlib/string-left-pad": "^0.2.1", "@stdlib/string-repeat": "^0.2.1", - "@stdlib/string-right-pad": "^0.2.1" + "@stdlib/string-right-pad": "^0.2.1", + "@stdlib/error-tools-fmtprodmsg": "^0.2.1" }, "devDependencies": { "@stdlib/assert-is-string": "^0.2.1", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From 20c7a271f6049aa5ae646b2829c29e9262a428f5 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sat, 13 Apr 2024 01:33:30 +0000 Subject: [PATCH 113/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 4842 ---------------------------------------------------- 4 files changed, 4925 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 84d9489..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( '@stdlib/constants-float32-pinf' ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( '@stdlib/constants-float32-ninf' ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 578342d..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2024 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var s=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===s}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,d="function"==typeof Uint32Array;var h="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof h)return!1;try{e=new h(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(d&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var V=Object.defineProperty;function j(r){return"number"==typeof r}function x(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=R.call(t,W,"$1e"),t=R.call(t,M,"e"),t=R.call(t,Z,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=R.call(t,$,"e+0$1"),t=R.call(t,U,"e-0$1"),r.alternate&&(t=R.call(t,C,"$1."),t=R.call(t,G,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===N.call(r.specifier)?N.call(t):P.call(t)}function X(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=z(a)?String(n.arg):Y(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=L(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=A(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=(l=n.arg,f=n.width,p=n.padRight,g=void 0,(g=f-l.length)<0?l:l=p?l+X(g):X(g)+l)),o+=n.arg||"",u+=1}return o}var H=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function J(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function K(r){var e,t,n,i;for(t=[],i=0,n=H.exec(r);n;)(e=r.slice(i,H.lastIndex-n[0].length)).length&&t.push(e),t.push(J(n)),i=H.lastIndex,n=H.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function Q(r){var e,t;if("string"!=typeof r)throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=[K(r)],t=1;tdr&&_(e=r)===e;var e}function vr(r){return cr(r)&&hr(r)}function yr(r){return pr(r)&&hr(r.valueOf())}function mr(r){return vr(r)||yr(r)}function wr(r){return vr(r)&&r>=0}function br(r){return yr(r)&&r.valueOf()>=0}function Er(r){return wr(r)||br(r)}function Sr(r){return"string"==typeof r}ur(mr,"isPrimitive",vr),ur(mr,"isObject",yr),ur(Er,"isPrimitive",wr),ur(Er,"isObject",br);var _r=String.prototype.valueOf;var Tr=e();function Vr(r){return"object"==typeof r&&(r instanceof String||(Tr?function(r){try{return _r.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function jr(r){return Sr(r)||Vr(r)}ur(jr,"isPrimitive",Sr),ur(jr,"isObject",Vr);var xr=9007199254740991,Ar=void 0!==String.prototype.repeat;var Fr=String.prototype.repeat;var kr=Ar?function(r,e){return Fr.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Or=Math.ceil;function Ir(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),r+kr(t,n))}(r,e,n)}function Pr(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),kr(t,n)+r)}(r,e,n)}function Nr(r,e){if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return kr(r,e)}function Rr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}var $r=149,Ur=24;function Cr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=Nr("1",8))+(n=Nr("0",23));if(r!=r)return t+(i=Nr("1",8))+(n="1"+Nr("0",22));if(0===r)return t+(i=Nr("0",8))+(n=Nr("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=Rr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=$r,n=0;n<$r&&((t=2*r)>=1?(r=t-1,e+="1",i===$r&&(i=n)):(r=t,e+="0"),!(1===t||n-i>Ur));n++);return e}(o),a)i=a.length-1;else{for(u=0;u\n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\targs = [ tokenize( str ) ];\n\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\targs.push( arguments[ i ] );\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","FLOAT64_MAX_SAFE_INTEGER","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","p","RangeError","lpad","div2","y","MAX_ITER","MAX_BITS","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CACnB,CAAC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAEd,CAAC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAEN,CAAC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CCpFA,IAAI8D,EAAMhC,KAAKgC,IACXjB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Bc,EAAUjB,OAAOzD,UAAU0E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcpB,GACtB,IAAIqB,EACAxE,EACAyE,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMzC,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7DyE,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAMyE,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAMyE,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,EAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEXxE,EAAMyE,EAAEE,cAAeH,IAEvBxE,EAAMyE,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAM+D,EAAQ5D,KAAMH,EAAKsE,EAAoB,OAC7CtE,EAAM+D,EAAQ5D,KAAMH,EAAKqE,EAAoB,KAC7CrE,EAAM+D,EAAQ5D,KAAMH,EAAKoE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAIlD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAM+D,EAAQ5D,KAAMH,EAAKgE,EAAmB,SAC5ChE,EAAM+D,EAAQ5D,KAAMH,EAAKiE,EAAmB,SACvCd,EAAMS,YACV5D,EAAM+D,EAAQ5D,KAAMH,EAAKkE,EAAgB,OACzClE,EAAM+D,EAAQ5D,KAAMH,EAAKmE,EAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS8E,EAAQ5C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CCLA,IAAI+E,EAAejC,OAAOiC,aACtBC,EAAQC,MACRC,EAAUC,MAAMD,QAYpB,SAASE,EAAYjC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIqF,MAAQlC,EAAMkC,OAAS,GAC3BrF,EAAIsF,QAAUnC,EAAMmC,QACbtF,CACR,CAmBA,SAASuF,EAAmBC,GAC3B,IAAIC,EACAJ,EACAlC,EACAuC,EACAC,EACA3F,EACA4F,EACAzD,EACA0D,ED/BcxD,EAAKC,EAAOC,EAC1BE,ECgCJ,IAAMyC,EAASM,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFAxF,EAAM,GACN4F,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GADAgB,EAAQqC,EAAQrD,GCtDS,iBDuDVgB,EACdnD,GAAOmD,MACD,CAGN,GAFAsC,OAAgC,IAApBtC,EAAMM,YAClBN,EAAQiC,EAAYjC,IACRE,UACX,MAAM,IAAIyC,UAAW,oEAAqE3D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMmC,UACVM,EAAMzC,EAAMmC,SAEbD,EAAQlC,EAAMkC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMxB,OAAQgC,IAErB,IAAK,IACJ1C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmBwE,GAGtC,GAAqB,MAAhBvC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAU0C,UAAWL,GAAO,IAC1CA,GAAO,EACFZ,EAAO7B,EAAMb,OACjB,MAAM,IAAIwD,UAAW,wCAA0CF,EAAM,6BAA+BzC,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKmD,GACqB,MAApBtC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWL,GAAO,IAC9CA,GAAO,EACFZ,EAAO7B,EAAMM,WACjB,MAAM,IAAIqC,UAAW,4CAA8CF,EAAM,6BAA+BzC,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBgC,GAAY,EAEb,CAGF,OADAtC,EAAMG,IAAM2C,UAAWL,GACdzC,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECoC,IACJtC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMuB,EAAO7B,EAAMG,KAAQ,CAE1B,IADAqC,EAAMpC,SAAUJ,EAAMG,IAAK,KAChB,GAAKqC,EAAM,IACrB,MAAM,IAAIzE,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ0B,EAAOW,GACpB7C,OAAQK,EAAMG,KACdyB,EAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLtC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,EAAcpB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIZ,OAASS,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,KDxJSjB,ECwJOc,EAAMG,IDxJRhB,ECwJaa,EAAMb,MDxJZC,ECwJmBY,EAAMO,SDvJnDjB,YAAMH,EAAQD,EAAIK,QACX,EACHL,EAERA,EAAM,EACLA,EAAMyC,EAAQrC,GACdqC,EAAQrC,GAAQJ,ICmJfrC,GAAOmD,EAAMG,KAAO,GACpBsC,GAAO,CACP,CAEF,OAAO5F,CACR,CE3LA,IAAIoG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAInD,EAAQ,CACXmC,QAAagB,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChBhE,MAASgE,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASoD,EAAgBlE,GACxB,IAAImE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMrE,GACTiE,IACPE,EAAUnE,EAAIsE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI5D,SACxCA,QACZ8C,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMrE,GAMlB,OAJAmE,EAAUnE,EAAIsE,MAAOF,IACR/D,QACZ8C,EAAOqB,KAAML,GAEPhB,CACR,CCtCA,SAASsB,EAAQzE,GAChB,IAAI0E,EACA5E,EAEJ,GCf0B,iBDeVE,EACf,MAAM,IAAIyD,UAAWgB,EAAQ,kEAAmEzE,IAGjG,IADA0E,EAAO,CAAEC,EAAU3E,IACbF,EAAI,EAAGA,EAAI8D,UAAUvD,OAAQP,IAClC4E,EAAKF,KAAMZ,UAAW9D,IAEvB,OAAO8E,EAAYC,MAAO,KAAMH,EACjC,CE7BA,IAAII,GAAiB/H,OAAOC,UACxBF,GAAQgI,GAAe7H,SACvB8H,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA7F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CACP,CAAC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGKyH,GACa5G,EDqBlB,SAAyB6G,EAAKC,EAAMC,GACnC,IAAI3I,EACA4I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB3I,GAAMgB,KAAM2H,GAC3D,MAAM,IAAIhC,UAAWgB,EAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B7I,GAAMgB,KAAM6H,GACzE,MAAM,IAAIlC,UAAWgB,EAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAarH,KAAM2H,EAAKC,IACxBL,GAAavH,KAAM2H,EAAKC,IAGxB1I,EAAYyI,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW/H,MAGzB6H,EAAIM,UAAY/I,GAEhByI,EAAKC,GAASC,EAAW/H,OAG3BiI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAIjH,MAAO,wHASlB,OANKgH,GAAUd,IACdA,GAAajH,KAAM2H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAanH,KAAM2H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAM9H,GAC7C8B,GAAgB+F,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZzI,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDcUuI,CAAM1I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS2I,GAAa3I,IAAW4I,GAAU5I,EAC5C,CCoBA6I,GAAArJ,GAAA,cAAAmJ,IACAE,GAAArJ,GAAA,WAAAoJ,ICnBA,IAAIE,GAAetI,GAAOuI,kBClB1B,SAASC,GAAWhJ,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWqH,EDDXjJ,KCEaiJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAWhJ,GACnB,OACC+B,GAAU/B,IACVkJ,GAAOlJ,EAET,CCLA,SAASgJ,GAAWhJ,GACnB,OACC+B,GAAU/B,IACVkJ,GAAOlJ,EAAMmJ,UAEf,CCGA,SAASH,GAAWhJ,GACnB,OAAS2I,GAAa3I,IAAW4I,GAAU5I,EAC5C,CCXA,SAASoJ,GAAsBpJ,GAC9B,OACCgJ,GAAWhJ,IACXA,GAAS,CAEX,CCLA,SAASoJ,GAAsBpJ,GAC9B,OACCgJ,GAAWhJ,IACXA,EAAMmJ,WAAa,CAErB,CCQA,SAASC,GAAsBpJ,GAC9B,OAAS2I,GAAa3I,IAAW4I,GAAU5I,EAC5C,CCtBA,SAASqJ,GAAUrJ,GAClB,MAA0B,iBAAVA,CACjB,CCmCA6I,GAAArJ,GAAA,cAAAmJ,IACAE,GAAArJ,GAAA,WAAAoJ,ICAAC,GAAArJ,GAAA,cAAAmJ,IACAE,GAAArJ,GAAA,WAAAoJ,ICpDA,IAAIO,GAAUtG,OAAOzD,UAAU+J,QCQ/B,IAAIrK,GAAMa,IAmBV,SAAS0J,GAAUrJ,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAmJ,GAAQjJ,KAAMF,IACP,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDaUuI,CAAM1I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAASqJ,GAAUrJ,GAClB,OAAS2I,GAAa3I,IAAW4I,GAAU5I,EAC5C,CCsBA6I,GAAArJ,GAAA,cAAAmJ,IACAE,GAAArJ,GAAA,WAAAoJ,IChBA,IAAIU,GAA2B,iBC7B3B3I,QAA4C,IAA5BkC,OAAOzD,UAAUmK,OCArC,IAAIA,GAAS1G,OAAOzD,UAAUmK,OCmC9B,IAAApG,GATKqG,GCFL,SAAiBpH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIwH,EACAC,EACJ,GAAoB,IAAftH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAwH,EAAM,GACNC,EAAMzH,EAGY,IAAP,EAAJyH,KACLD,GAAOrH,GAIK,IADbsH,KAAS,IAKTtH,GAAOA,EAER,OAAOqH,CACR,EC1DIE,GAAO9H,KAAK8H,KCWhB,SAASC,GAAMxH,EAAKyH,EAAKrH,GACxB,IAAIsH,EACJ,IAAMT,GAAUjH,GACf,MAAM,IAAIyD,UAAWgB,EAAQ,kEAAmEzE,IAEjG,IAAMgH,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUvD,OAAS,EAAI,CAE3B,IAAM4G,GADNS,EAAItH,GAEH,MAAM,IAAIqD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAErH,OACN,MAAM,IAAIsH,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAezH,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHG,EAAMmH,GAAQ/G,EAAKP,GAC3B,CDsBQkB,CAAMf,EAAKyH,EAAKC,EACxB,CEvBA,SAASE,GAAM5H,EAAKyH,EAAKrH,GACxB,IAAIsH,EACJ,IAAMT,GAAUjH,GACf,MAAM,IAAIyD,UAAWgB,EAAQ,kEAAmEzE,IAEjG,IAAMgH,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUvD,OAAS,EAAI,CAE3B,IAAM4G,GADNS,EAAItH,GAEH,MAAM,IAAIqD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAErH,OACN,MAAM,IAAIsH,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAezH,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHsH,GAAQ/G,EAAKP,GAAMG,EAC3B,CDsBQe,CAAMf,EAAKyH,EAAKC,EACxB,CE1BA,SAASP,GAAQnH,EAAKH,GACrB,IAAMoH,GAAUjH,GACf,MAAM,IAAIyD,UAAWgB,EAAQ,kEAAmEzE,IAEjG,IAAMgH,GAAsBnH,GAC3B,MAAM,IAAI4D,UAAWgB,EAAQ,gFAAiF5E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAASgI,GAAMhB,GAKd,IAJA,IACIiB,EADA9H,EAAM,GAIF6G,EAAI,GAIV7G,GAHD8H,EAAIjB,EAAI,MACRA,EAAIrH,EAAOsI,IAEJ,IAAM9H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC3CA,IAAI+H,GAAW,IACXC,GAAW,GCwEf,SAASC,GAAiBpB,GACzB,IAAIqB,EACA5G,EACAtB,EACAmI,EACAtI,EACAuC,EACAtC,EASJ,GALCwB,EADIuF,EAAI,GAAO,EAAIA,IAAMtH,EAClB,IAEA,IAGHsH,IAAMnI,GAAQmI,IAAMtH,EAIxB,OAAO+B,GAFP6G,EAAMhB,GAAQ,IA3EQ,KA4EtBnH,EAAMmH,GAAQ,IA7EW,KAiF1B,GAAKN,GAAMA,EAIV,OAAOvF,GAFP6G,EAAMhB,GAAQ,IAlFQ,KAmFtBnH,EAAM,IAAMmH,GAAQ,IAAKiB,KAI1B,GAAW,IAANvB,EAIJ,OAAOvF,GAFP6G,EAAMhB,GAAQ,IAzFQ,KA0FtBnH,EAAMmH,GAAQ,IA3FW,KA2G1B,GAPA/E,GANAyE,ECnFD,SAAcA,GACb,OAAOpH,KAAKgC,IAAKoF,EAClB,CDiFKpF,CAAKoF,KAGThH,EAAIL,EAAOqH,IAMXhH,EAAIgI,GAAMhI,GACVuC,EDlGD,SAAgByE,GACf,IAAI7G,EACA8H,EACAhI,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAAN6G,EACJ,OAAO7G,EAKR,IAHAwD,EAAIuE,GAGEjI,EAAI,EAAGA,EAAIiI,MAChBD,EAAQ,EAAJjB,IACM,GACTA,EAAIiB,EAAI,EACR9H,GAAO,IACFwD,IAAMuE,KACVvE,EAAI1D,KAGL+G,EAAIiB,EACJ9H,GAAO,OAGG,IAAN8H,GAAahI,EAAE0D,EAAIwE,KAbElI,KAkB3B,OAAOE,CACR,CCkEKqI,CAAOjG,GAGNvC,EAEJsI,EAAMtI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIsC,EAAE/B,OAAQP,IAC1B,GAAgB,MAAXsC,EAAGtC,GAAc,CACrBoI,EAAQpI,EAAI,EACZ,KACA,CAGFqI,GAAOD,CACP,CAuBD,OArBAlI,EAAMH,EAAIuC,EACL+F,EAAM,GAELA,IE9GqB,MFgHzBD,EAAQI,KAGTtI,EAAMA,EAAI8D,UAAWoE,IAGrBlI,EAAMA,EAAI8D,UAAW,GAUfxC,GANP6G,EAAMP,GADNO,EAAMN,GAAMM,EEzHe,KFdJ,EAwIa,OAGpCnI,EAAMwH,GAAMxH,EA5Ic,GA4Ia,KAAM8D,UAAW,EA5I9B,IAgJ3B","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,81,82]} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index 0dae554..0000000 --- a/stats.html +++ /dev/null @@ -1,4842 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From 55788d21e692bf09899910fc032d178f7b651923 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sat, 13 Apr 2024 01:33:53 +0000 Subject: [PATCH 114/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 49 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 794 ---- .github/workflows/publish.yml | 248 -- .github/workflows/test.yml | 99 - .github/workflows/test_bundles.yml | 186 - .github/workflows/test_coverage.yml | 133 - .github/workflows/test_install.yml | 85 - .gitignore | 188 - .npmignore | 229 - .npmrc | 31 - CHANGELOG.md | 5 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 --- README.md | 44 +- SECURITY.md | 5 - benchmark/benchmark.js | 52 - branches.md | 56 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 4842 +++++++++++++++++++++ test/dist/test.js | 33 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 84 - test/test.js | 162 - 50 files changed, 4863 insertions(+), 4263 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 SECURITY.md delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 60d743f..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 10a16e6..0000000 --- a/.gitattributes +++ /dev/null @@ -1,49 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/deps/** linguist-vendored=false -/lib/node_modules/** linguist-vendored=false linguist-generated=false -test/fixtures/** linguist-vendored=false -tools/** linguist-vendored=false - -# Override what is considered "documentation" by GitHub's linguist: -examples/** linguist-documentation=false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index e4f10fe..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index b5291db..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # v0.12.1 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 2984901..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index e313406..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 # v3.0.3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index f92a6c5..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,794 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 -r sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA - uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 - with: - status: ${{ job.status }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure git: - - name: 'Configure git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index a8a9c60..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,33 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2023 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 main = require( './../../dist' ); - - -// TESTS // - -tape( 'main export is defined', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( main !== void 0, true, 'main export is defined' ); - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index fb9fc20..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index 7d4bc51..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 316e027..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index f370bba..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index 9cc0556..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - write( outfile, "\n" ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From a341515af0ea3e13f989688c8a09b73fbdc9e668 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 28 Jul 2024 02:57:57 +0000 Subject: [PATCH 115/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 6ec97c7..06da3ff 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.2.3", "@stdlib/string-left-pad": "^0.2.1", "@stdlib/string-repeat": "^0.2.2", - "@stdlib/string-right-pad": "^0.2.2" + "@stdlib/string-right-pad": "^0.2.2", + "@stdlib/error-tools-fmtprodmsg": "^0.2.2" }, "devDependencies": { "@stdlib/assert-is-string": "^0.2.2", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From 511c4da76ea3d4c7bc39207dd1ce0c64b2482dbc Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 28 Jul 2024 03:30:03 +0000 Subject: [PATCH 116/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 4842 ---------------------------------------------------- 4 files changed, 4925 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 84d9489..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( '@stdlib/constants-float32-pinf' ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( '@stdlib/constants-float32-ninf' ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 578342d..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2024 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var s=Number.POSITIVE_INFINITY,l="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof l)return!1;try{e=new l([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===s}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,d="function"==typeof Uint32Array;var h="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof h)return!1;try{e=new h(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(d&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var V=Object.defineProperty;function j(r){return"number"==typeof r}function x(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=R.call(t,W,"$1e"),t=R.call(t,M,"e"),t=R.call(t,Z,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=R.call(t,$,"e+0$1"),t=R.call(t,U,"e-0$1"),r.alternate&&(t=R.call(t,C,"$1."),t=R.call(t,G,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===N.call(r.specifier)?N.call(t):P.call(t)}function X(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=z(a)?String(n.arg):Y(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=L(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=A(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=(l=n.arg,f=n.width,p=n.padRight,g=void 0,(g=f-l.length)<0?l:l=p?l+X(g):X(g)+l)),o+=n.arg||"",u+=1}return o}var H=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function J(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function K(r){var e,t,n,i;for(t=[],i=0,n=H.exec(r);n;)(e=r.slice(i,H.lastIndex-n[0].length)).length&&t.push(e),t.push(J(n)),i=H.lastIndex,n=H.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function Q(r){var e,t;if("string"!=typeof r)throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=[K(r)],t=1;tdr&&_(e=r)===e;var e}function vr(r){return cr(r)&&hr(r)}function yr(r){return pr(r)&&hr(r.valueOf())}function mr(r){return vr(r)||yr(r)}function wr(r){return vr(r)&&r>=0}function br(r){return yr(r)&&r.valueOf()>=0}function Er(r){return wr(r)||br(r)}function Sr(r){return"string"==typeof r}ur(mr,"isPrimitive",vr),ur(mr,"isObject",yr),ur(Er,"isPrimitive",wr),ur(Er,"isObject",br);var _r=String.prototype.valueOf;var Tr=e();function Vr(r){return"object"==typeof r&&(r instanceof String||(Tr?function(r){try{return _r.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function jr(r){return Sr(r)||Vr(r)}ur(jr,"isPrimitive",Sr),ur(jr,"isObject",Vr);var xr=9007199254740991,Ar=void 0!==String.prototype.repeat;var Fr=String.prototype.repeat;var kr=Ar?function(r,e){return Fr.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Or=Math.ceil;function Ir(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),r+kr(t,n))}(r,e,n)}function Pr(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),kr(t,n)+r)}(r,e,n)}function Nr(r,e){if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return kr(r,e)}function Rr(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}var $r=149,Ur=24;function Cr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=Nr("1",8))+(n=Nr("0",23));if(r!=r)return t+(i=Nr("1",8))+(n="1"+Nr("0",22));if(0===r)return t+(i=Nr("0",8))+(n=Nr("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=Rr(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=$r,n=0;n<$r&&((t=2*r)>=1?(r=t-1,e+="1",i===$r&&(i=n)):(r=t,e+="0"),!(1===t||n-i>Ur));n++);return e}(o),a)i=a.length-1;else{for(u=0;u\n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e');\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isnan = isNaN; // NOTE: We use the global `isNaN` function here instead of `@stdlib/math/base/assert/is-nan` to avoid circular dependencies.\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ?\n\t\t\t\t\t\tString( token.arg ) :\n\t\t\t\t\t\tfromCharCode( num );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\targs = [ tokenize( str ) ];\n\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\targs.push( arguments[ i ] );\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","fromCharCode","isnan","isNaN","isArray","Array","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","FLOAT64_MAX_SAFE_INTEGER","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","p","RangeError","lpad","div2","y","MAX_ITER","MAX_BITS","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CACnB,CAAC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAEd,CAAC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAEN,CAAC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CCpFA,IAAI8D,EAAMhC,KAAKgC,IACXjB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Bc,EAAUjB,OAAOzD,UAAU0E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcpB,GACtB,IAAIqB,EACAxE,EACAyE,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMzC,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7DyE,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAMyE,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAMyE,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,EAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEXxE,EAAMyE,EAAEE,cAAeH,IAEvBxE,EAAMyE,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAM+D,EAAQ5D,KAAMH,EAAKsE,EAAoB,OAC7CtE,EAAM+D,EAAQ5D,KAAMH,EAAKqE,EAAoB,KAC7CrE,EAAM+D,EAAQ5D,KAAMH,EAAKoE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAIlD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAM+D,EAAQ5D,KAAMH,EAAKgE,EAAmB,SAC5ChE,EAAM+D,EAAQ5D,KAAMH,EAAKiE,EAAmB,SACvCd,EAAMS,YACV5D,EAAM+D,EAAQ5D,KAAMH,EAAKkE,EAAgB,OACzClE,EAAM+D,EAAQ5D,KAAMH,EAAKmE,EAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS8E,EAAQ5C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CCLA,IAAI+E,EAAejC,OAAOiC,aACtBC,EAAQC,MACRC,EAAUC,MAAMD,QAYpB,SAASE,EAAYjC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIqF,MAAQlC,EAAMkC,OAAS,GAC3BrF,EAAIsF,QAAUnC,EAAMmC,QACbtF,CACR,CAmBA,SAASuF,EAAmBC,GAC3B,IAAIC,EACAJ,EACAlC,EACAuC,EACAC,EACA3F,EACA4F,EACAzD,EACA0D,ED/BcxD,EAAKC,EAAOC,EAC1BE,ECgCJ,IAAMyC,EAASM,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFAxF,EAAM,GACN4F,EAAM,EACAzD,EAAI,EAAGA,EAAIqD,EAAO9C,OAAQP,IAE/B,GADAgB,EAAQqC,EAAQrD,GCtDS,iBDuDVgB,EACdnD,GAAOmD,MACD,CAGN,GAFAsC,OAAgC,IAApBtC,EAAMM,YAClBN,EAAQiC,EAAYjC,IACRE,UACX,MAAM,IAAIyC,UAAW,oEAAqE3D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMmC,UACVM,EAAMzC,EAAMmC,SAEbD,EAAQlC,EAAMkC,MACRQ,EAAI,EAAGA,EAAIR,EAAM3C,OAAQmD,IAE9B,OADAH,EAAOL,EAAMxB,OAAQgC,IAErB,IAAK,IACJ1C,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM4C,UAAW,EACjB,MACD,IAAK,IACJ5C,EAAM4C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ7C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmBwE,GAGtC,GAAqB,MAAhBvC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAU0C,UAAWL,GAAO,IAC1CA,GAAO,EACFZ,EAAO7B,EAAMb,OACjB,MAAM,IAAIwD,UAAW,wCAA0CF,EAAM,6BAA+BzC,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKmD,GACqB,MAApBtC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAU0C,UAAWL,GAAO,IAC9CA,GAAO,EACFZ,EAAO7B,EAAMM,WACjB,MAAM,IAAIqC,UAAW,4CAA8CF,EAAM,6BAA+BzC,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClBgC,GAAY,EAEb,CAGF,OADAtC,EAAMG,IAAM2C,UAAWL,GACdzC,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECoC,IACJtC,EAAM4C,UAAW,GAElB5C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM+C,SAAW,EAAgB/C,EAAMM,WAAa,EACpD,MACD,IAAK,IAEJ,IAAMuB,EAAO7B,EAAMG,KAAQ,CAE1B,IADAqC,EAAMpC,SAAUJ,EAAMG,IAAK,KAChB,GAAKqC,EAAM,IACrB,MAAM,IAAIzE,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ0B,EAAOW,GACpB7C,OAAQK,EAAMG,KACdyB,EAAcY,EACf,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLtC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,EAAcpB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAM+C,UAAY,GAAK/C,EAAMG,IAAIZ,OAASS,EAAM+C,WACpD/C,EAAMG,IAAMH,EAAMG,IAAI6C,UAAW,EAAGhD,EAAM+C,WAEtC/C,EAAM4C,SACV5C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,KDxJSjB,ECwJOc,EAAMG,IDxJRhB,ECwJaa,EAAMb,MDxJZC,ECwJmBY,EAAMO,SDvJnDjB,YAAMH,EAAQD,EAAIK,QACX,EACHL,EAERA,EAAM,EACLA,EAAMyC,EAAQrC,GACdqC,EAAQrC,GAAQJ,ICmJfrC,GAAOmD,EAAMG,KAAO,GACpBsC,GAAO,CACP,CAEF,OAAO5F,CACR,CE3LA,IAAIoG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAInD,EAAQ,CACXmC,QAAagB,EAAO,GAAQ/C,SAAU+C,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChBhE,MAASgE,EAAO,GAChB7C,UAAa6C,EAAO,GACpBjD,UAAaiD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjCnD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASoD,EAAgBlE,GACxB,IAAImE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMrE,GACTiE,IACPE,EAAUnE,EAAIsE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI5D,SACxCA,QACZ8C,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMrE,GAMlB,OAJAmE,EAAUnE,EAAIsE,MAAOF,IACR/D,QACZ8C,EAAOqB,KAAML,GAEPhB,CACR,CCtCA,SAASsB,EAAQzE,GAChB,IAAI0E,EACA5E,EAEJ,GCf0B,iBDeVE,EACf,MAAM,IAAIyD,UAAWgB,EAAQ,kEAAmEzE,IAGjG,IADA0E,EAAO,CAAEC,EAAU3E,IACbF,EAAI,EAAGA,EAAI8D,UAAUvD,OAAQP,IAClC4E,EAAKF,KAAMZ,UAAW9D,IAEvB,OAAO8E,EAAYC,MAAO,KAAMH,EACjC,CE7BA,IAAII,GAAiB/H,OAAOC,UACxBF,GAAQgI,GAAe7H,SACvB8H,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA7F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CACP,CAAC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGKyH,GACa5G,EDqBlB,SAAyB6G,EAAKC,EAAMC,GACnC,IAAI3I,EACA4I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB3I,GAAMgB,KAAM2H,GAC3D,MAAM,IAAIhC,UAAWgB,EAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B7I,GAAMgB,KAAM6H,GACzE,MAAM,IAAIlC,UAAWgB,EAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAarH,KAAM2H,EAAKC,IACxBL,GAAavH,KAAM2H,EAAKC,IAGxB1I,EAAYyI,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW/H,MAGzB6H,EAAIM,UAAY/I,GAEhByI,EAAKC,GAASC,EAAW/H,OAG3BiI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAIjH,MAAO,wHASlB,OANKgH,GAAUd,IACdA,GAAajH,KAAM2H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAanH,KAAM2H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAM9H,GAC7C8B,GAAgB+F,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZzI,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDcUuI,CAAM1I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS2I,GAAa3I,IAAW4I,GAAU5I,EAC5C,CCoBA6I,GAAArJ,GAAA,cAAAmJ,IACAE,GAAArJ,GAAA,WAAAoJ,ICnBA,IAAIE,GAAetI,GAAOuI,kBClB1B,SAASC,GAAWhJ,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWqH,EDDXjJ,KCEaiJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAWhJ,GACnB,OACC+B,GAAU/B,IACVkJ,GAAOlJ,EAET,CCLA,SAASgJ,GAAWhJ,GACnB,OACC+B,GAAU/B,IACVkJ,GAAOlJ,EAAMmJ,UAEf,CCGA,SAASH,GAAWhJ,GACnB,OAAS2I,GAAa3I,IAAW4I,GAAU5I,EAC5C,CCXA,SAASoJ,GAAsBpJ,GAC9B,OACCgJ,GAAWhJ,IACXA,GAAS,CAEX,CCLA,SAASoJ,GAAsBpJ,GAC9B,OACCgJ,GAAWhJ,IACXA,EAAMmJ,WAAa,CAErB,CCQA,SAASC,GAAsBpJ,GAC9B,OAAS2I,GAAa3I,IAAW4I,GAAU5I,EAC5C,CCtBA,SAASqJ,GAAUrJ,GAClB,MAA0B,iBAAVA,CACjB,CCmCA6I,GAAArJ,GAAA,cAAAmJ,IACAE,GAAArJ,GAAA,WAAAoJ,ICAAC,GAAArJ,GAAA,cAAAmJ,IACAE,GAAArJ,GAAA,WAAAoJ,ICpDA,IAAIO,GAAUtG,OAAOzD,UAAU+J,QCQ/B,IAAIrK,GAAMa,IAmBV,SAAS0J,GAAUrJ,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAmJ,GAAQjJ,KAAMF,IACP,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDaUuI,CAAM1I,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAASqJ,GAAUrJ,GAClB,OAAS2I,GAAa3I,IAAW4I,GAAU5I,EAC5C,CCsBA6I,GAAArJ,GAAA,cAAAmJ,IACAE,GAAArJ,GAAA,WAAAoJ,IChBA,IAAIU,GAA2B,iBC7B3B3I,QAA4C,IAA5BkC,OAAOzD,UAAUmK,OCArC,IAAIA,GAAS1G,OAAOzD,UAAUmK,OCmC9B,IAAApG,GATKqG,GCFL,SAAiBpH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIwH,EACAC,EACJ,GAAoB,IAAftH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAwH,EAAM,GACNC,EAAMzH,EAGY,IAAP,EAAJyH,KACLD,GAAOrH,GAIK,IADbsH,KAAS,IAKTtH,GAAOA,EAER,OAAOqH,CACR,EC1DIE,GAAO9H,KAAK8H,KCWhB,SAASC,GAAMxH,EAAKyH,EAAKrH,GACxB,IAAIsH,EACJ,IAAMT,GAAUjH,GACf,MAAM,IAAIyD,UAAWgB,EAAQ,kEAAmEzE,IAEjG,IAAMgH,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUvD,OAAS,EAAI,CAE3B,IAAM4G,GADNS,EAAItH,GAEH,MAAM,IAAIqD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAErH,OACN,MAAM,IAAIsH,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAezH,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHG,EAAMmH,GAAQ/G,EAAKP,GAC3B,CDsBQkB,CAAMf,EAAKyH,EAAKC,EACxB,CEvBA,SAASE,GAAM5H,EAAKyH,EAAKrH,GACxB,IAAIsH,EACJ,IAAMT,GAAUjH,GACf,MAAM,IAAIyD,UAAWgB,EAAQ,kEAAmEzE,IAEjG,IAAMgH,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUvD,OAAS,EAAI,CAE3B,IAAM4G,GADNS,EAAItH,GAEH,MAAM,IAAIqD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAErH,OACN,MAAM,IAAIsH,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAezH,EAAKyH,EAAKrH,GACxB,IAAIP,GAAM4H,EAAMzH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAI0H,GAAM1H,GACHsH,GAAQ/G,EAAKP,GAAMG,EAC3B,CDsBQe,CAAMf,EAAKyH,EAAKC,EACxB,CE1BA,SAASP,GAAQnH,EAAKH,GACrB,IAAMoH,GAAUjH,GACf,MAAM,IAAIyD,UAAWgB,EAAQ,kEAAmEzE,IAEjG,IAAMgH,GAAsBnH,GAC3B,MAAM,IAAI4D,UAAWgB,EAAQ,gFAAiF5E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAASgI,GAAMhB,GAKd,IAJA,IACIiB,EADA9H,EAAM,GAIF6G,EAAI,GAIV7G,GAHD8H,EAAIjB,EAAI,MACRA,EAAIrH,EAAOsI,IAEJ,IAAM9H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC3CA,IAAI+H,GAAW,IACXC,GAAW,GCwEf,SAASC,GAAiBpB,GACzB,IAAIqB,EACA5G,EACAtB,EACAmI,EACAtI,EACAuC,EACAtC,EASJ,GALCwB,EADIuF,EAAI,GAAO,EAAIA,IAAMtH,EAClB,IAEA,IAGHsH,IAAMnI,GAAQmI,IAAMtH,EAIxB,OAAO+B,GAFP6G,EAAMhB,GAAQ,IA3EQ,KA4EtBnH,EAAMmH,GAAQ,IA7EW,KAiF1B,GAAKN,GAAMA,EAIV,OAAOvF,GAFP6G,EAAMhB,GAAQ,IAlFQ,KAmFtBnH,EAAM,IAAMmH,GAAQ,IAAKiB,KAI1B,GAAW,IAANvB,EAIJ,OAAOvF,GAFP6G,EAAMhB,GAAQ,IAzFQ,KA0FtBnH,EAAMmH,GAAQ,IA3FW,KA2G1B,GAPA/E,GANAyE,ECnFD,SAAcA,GACb,OAAOpH,KAAKgC,IAAKoF,EAClB,CDiFKpF,CAAKoF,KAGThH,EAAIL,EAAOqH,IAMXhH,EAAIgI,GAAMhI,GACVuC,EDlGD,SAAgByE,GACf,IAAI7G,EACA8H,EACAhI,EACA0D,EAGJ,GADAxD,EAAM,GACK,IAAN6G,EACJ,OAAO7G,EAKR,IAHAwD,EAAIuE,GAGEjI,EAAI,EAAGA,EAAIiI,MAChBD,EAAQ,EAAJjB,IACM,GACTA,EAAIiB,EAAI,EACR9H,GAAO,IACFwD,IAAMuE,KACVvE,EAAI1D,KAGL+G,EAAIiB,EACJ9H,GAAO,OAGG,IAAN8H,GAAahI,EAAE0D,EAAIwE,KAbElI,KAkB3B,OAAOE,CACR,CCkEKqI,CAAOjG,GAGNvC,EAEJsI,EAAMtI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIsC,EAAE/B,OAAQP,IAC1B,GAAgB,MAAXsC,EAAGtC,GAAc,CACrBoI,EAAQpI,EAAI,EACZ,KACA,CAGFqI,GAAOD,CACP,CAuBD,OArBAlI,EAAMH,EAAIuC,EACL+F,EAAM,GAELA,IE9GqB,MFgHzBD,EAAQI,KAGTtI,EAAMA,EAAI8D,UAAWoE,IAGrBlI,EAAMA,EAAI8D,UAAW,GAUfxC,GANP6G,EAAMP,GADNO,EAAMN,GAAMM,EEzHe,KFdJ,EAwIa,OAGpCnI,EAAMwH,GAAMxH,EA5Ic,GA4Ia,KAAM8D,UAAW,EA5I9B,IAgJ3B","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,81,82]} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index 0dae554..0000000 --- a/stats.html +++ /dev/null @@ -1,4842 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From 4bb9a8378a6b9debc8be7d0b0462a0cf7e7f0411 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 28 Jul 2024 03:30:17 +0000 Subject: [PATCH 117/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 66 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 794 ---- .github/workflows/publish.yml | 252 -- .github/workflows/test.yml | 99 - .github/workflows/test_bundles.yml | 186 - .github/workflows/test_coverage.yml | 133 - .github/workflows/test_install.yml | 85 - .gitignore | 188 - .npmignore | 229 - .npmrc | 31 - CHANGELOG.md | 223 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 --- README.md | 44 +- SECURITY.md | 5 - benchmark/benchmark.js | 52 - branches.md | 56 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 4842 +++++++++++++++++++++ test/dist/test.js | 33 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 84 - test/test.js | 162 - 50 files changed, 4863 insertions(+), 4502 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 SECURITY.md delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 60d743f..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 1c88e69..0000000 --- a/.gitattributes +++ /dev/null @@ -1,66 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/lib/node_modules/** -linguist-vendored -linguist-generated - -# Configure directories which should *not* be included in GitHub language statistics: -/deps/** linguist-vendored -/dist/** linguist-generated -/workshops/** linguist-vendored - -benchmark/** linguist-vendored -docs/* linguist-documentation -etc/** linguist-vendored -examples/** linguist-documentation -scripts/** linguist-vendored -test/** linguist-vendored -tools/** linguist-vendored - -# Configure files which should *not* be included in GitHub language statistics: -Makefile linguist-vendored -*.mk linguist-vendored -*.jl linguist-vendored -*.py linguist-vendored -*.R linguist-vendored - -# Configure files which should be included in GitHub language statistics: -docs/types/*.d.ts -linguist-documentation diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index e4f10fe..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index b5291db..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # v0.12.1 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 2984901..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index e313406..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 # v3.0.3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index f4575e9..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,794 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 -r sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA - uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 - with: - status: ${{ job.status }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index a8a9c60..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,33 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2023 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 main = require( './../../dist' ); - - -// TESTS // - -tape( 'main export is defined', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( main !== void 0, true, 'main export is defined' ); - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index fb9fc20..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index 7d4bc51..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 316e027..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index f370bba..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index 9cc0556..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - write( outfile, "\n" ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 946e4e44a49a71e05fd88b6311741faf7b7cea2d Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 28 Jul 2024 03:37:19 +0000 Subject: [PATCH 118/146] Update README.md for Deno bundle v0.2.2 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b3f936d..9a591d6 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ limitations under the License. ## Usage ```javascript -import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@v0.2.2-deno/mod.js'; ``` #### toBinaryStringf( x ) @@ -111,7 +111,7 @@ import randu from 'https://cdn.jsdelivr.net/gh/stdlib-js/random-base-randu@deno/ import round from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-round@deno/mod.js'; import pow from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-pow@deno/mod.js'; import float64ToFloat32 from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float64-base-to-float32@deno/mod.js'; -import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@v0.2.2-deno/mod.js'; var frac; var sign; From d595e01a396181cc9d7b16938bfcd6d70f1e3718 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 28 Jul 2024 03:37:19 +0000 Subject: [PATCH 119/146] Auto-generated commit --- README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9a591d6..ec9a32c 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,11 @@ limitations under the License. ## Usage +```javascript +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; +``` +The previous example will load the latest bundled code from the deno branch. Alternatively, you may load a specific version by loading the file from one of the [tagged bundles](https://github.com/stdlib-js/number-float32-base-to-binary-string/tags). For example, + ```javascript import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@v0.2.2-deno/mod.js'; ``` @@ -111,7 +116,7 @@ import randu from 'https://cdn.jsdelivr.net/gh/stdlib-js/random-base-randu@deno/ import round from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-round@deno/mod.js'; import pow from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-pow@deno/mod.js'; import float64ToFloat32 from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float64-base-to-float32@deno/mod.js'; -import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@v0.2.2-deno/mod.js'; +import toBinaryStringf from 'https://cdn.jsdelivr.net/gh/stdlib-js/number-float32-base-to-binary-string@deno/mod.js'; var frac; var sign; From 61eabc76f75b7c6ea9240ac93b28767c2fb2969e Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 1 Aug 2024 05:34:06 +0000 Subject: [PATCH 120/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 3b7a9d2..a77479f 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.2.3", "@stdlib/string-left-pad": "^0.2.2", "@stdlib/string-repeat": "^0.2.2", - "@stdlib/string-right-pad": "^0.2.2" + "@stdlib/string-right-pad": "^0.2.2", + "@stdlib/error-tools-fmtprodmsg": "^0.2.2" }, "devDependencies": { "@stdlib/assert-is-string": "^0.2.2", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From b450afde3c61eaa449013a13632ac2931807859e Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 1 Aug 2024 10:05:40 +0000 Subject: [PATCH 121/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 4842 ---------------------------------------------------- 4 files changed, 4925 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 84d9489..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( '@stdlib/constants-float32-pinf' ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( '@stdlib/constants-float32-ninf' ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 3d7dac2..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2024 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var l=Number.POSITIVE_INFINITY,s="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof s)return!1;try{e=new s([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===l}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,d="function"==typeof Uint32Array;var h="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof h)return!1;try{e=new h(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(d&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var V=Object.defineProperty;function j(r){return"number"==typeof r}function x(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=$.call(t,W,"$1e"),t=$.call(t,M,"e"),t=$.call(t,Z,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=$.call(t,U,"e+0$1"),t=$.call(t,N,"e-0$1"),r.alternate&&(t=$.call(t,C,"$1."),t=$.call(t,G,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===R.call(r.specifier)?R.call(t):P.call(t)}function X(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=q(a)?String(n.arg):Y(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=L(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=A(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=(s=n.arg,f=n.width,p=n.padRight,g=void 0,(g=f-s.length)<0?s:s=p?s+X(g):X(g)+s)),o+=n.arg||"",u+=1}return o}var H=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function J(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function K(r){var e,t,n,i;for(t=[],i=0,n=H.exec(r);n;)(e=r.slice(i,H.lastIndex-n[0].length)).length&&t.push(e),t.push(J(n)),i=H.lastIndex,n=H.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function Q(r){var e,t;if("string"!=typeof r)throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=[K(r)],t=1;tdr&&_(e=r)===e;var e}function vr(r){return cr(r)&&hr(r)}function yr(r){return pr(r)&&hr(r.valueOf())}function mr(r){return vr(r)||yr(r)}function wr(r){return vr(r)&&r>=0}function br(r){return yr(r)&&r.valueOf()>=0}function Er(r){return wr(r)||br(r)}function Sr(r){return"string"==typeof r}ur(mr,"isPrimitive",vr),ur(mr,"isObject",yr),ur(Er,"isPrimitive",wr),ur(Er,"isObject",br);var _r=String.prototype.valueOf;var Tr=e();function Vr(r){return"object"==typeof r&&(r instanceof String||(Tr?function(r){try{return _r.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function jr(r){return Sr(r)||Vr(r)}ur(jr,"isPrimitive",Sr),ur(jr,"isObject",Vr);var xr=9007199254740991,Ar=void 0!==String.prototype.repeat;var Fr=String.prototype.repeat;var kr=Ar?function(r,e){return Fr.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Or=Math.ceil;function Ir(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),r+kr(t,n))}(r,e,n)}function Pr(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),kr(t,n)+r)}(r,e,n)}function Rr(r,e){if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return kr(r,e)}function $r(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}var Ur=149,Nr=24;function Cr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=Rr("1",8))+(n=Rr("0",23));if(r!=r)return t+(i=Rr("1",8))+(n="1"+Rr("0",22));if(0===r)return t+(i=Rr("0",8))+(n=Rr("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=$r(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=Ur,n=0;n=1?(r=t-1,e+="1",i===Ur&&(i=n)):(r=t,e+="0"),!(1===t||n-i>Nr));n++);return e}(o),a)i=a.length-1;else{for(u=0;u\n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e' );\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Returns a boolean indicating whether a value is `NaN`.\n*\n* @private\n* @param {*} value - input value\n* @returns {boolean} boolean indicating whether a value is `NaN`\n*\n* @example\n* var bool = isnan( NaN );\n* // returns true\n*\n* @example\n* var bool = isnan( 4 );\n* // returns false\n*/\nfunction isnan( value ) { // explicitly define a function here instead of `@stdlib/math/base/assert/is-nan` in order to avoid circular dependencies\n\treturn ( value !== value );\n}\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\ttoken.arg = String( token.arg );\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ? String( token.arg ) : fromCharCode( num ); // eslint-disable-line max-len\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\targs = [ tokenize( str ) ];\n\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\targs.push( arguments[ i ] );\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","fromCharCode","isArray","Array","isnan","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","FLOAT64_MAX_SAFE_INTEGER","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","p","RangeError","lpad","div2","y","MAX_ITER","MAX_BITS","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CACnB,CAAC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAEd,CAAC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAEN,CAAC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CCpFA,IAAI8D,EAAMhC,KAAKgC,IACXjB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Bc,EAAUjB,OAAOzD,UAAU0E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcpB,GACtB,IAAIqB,EACAxE,EACAyE,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMzC,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7DyE,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAMyE,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAMyE,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,EAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEXxE,EAAMyE,EAAEE,cAAeH,IAEvBxE,EAAMyE,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAM+D,EAAQ5D,KAAMH,EAAKsE,EAAoB,OAC7CtE,EAAM+D,EAAQ5D,KAAMH,EAAKqE,EAAoB,KAC7CrE,EAAM+D,EAAQ5D,KAAMH,EAAKoE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAIlD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAM+D,EAAQ5D,KAAMH,EAAKgE,EAAmB,SAC5ChE,EAAM+D,EAAQ5D,KAAMH,EAAKiE,EAAmB,SACvCd,EAAMS,YACV5D,EAAM+D,EAAQ5D,KAAMH,EAAKkE,EAAgB,OACzClE,EAAM+D,EAAQ5D,KAAMH,EAAKmE,EAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS8E,EAAQ5C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CCLA,IAAI+E,EAAejC,OAAOiC,aACtBC,EAAUC,MAAMD,QAoBpB,SAASE,EAAOjF,GACf,OAASA,GAAUA,CACpB,CASA,SAASkF,EAAYhC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIoF,MAAQjC,EAAMiC,OAAS,GAC3BpF,EAAIqF,QAAUlC,EAAMkC,QACbrF,CACR,CAmBA,SAASsF,EAAmBC,GAC3B,IAAIC,EACAJ,EACAjC,EACAsC,EACAC,EACA1F,EACA2F,EACAxD,EACAyD,EDjDcvD,EAAKC,EAAOC,EAC1BE,ECkDJ,IAAMuC,EAASO,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFAvF,EAAM,GACN2F,EAAM,EACAxD,EAAI,EAAGA,EAAIoD,EAAO7C,OAAQP,IAE/B,GADAgB,EAAQoC,EAAQpD,GCxES,iBDyEVgB,EACdnD,GAAOmD,MACD,CAGN,GAFAqC,OAAgC,IAApBrC,EAAMM,YAClBN,EAAQgC,EAAYhC,IACRE,UACX,MAAM,IAAIwC,UAAW,oEAAqE1D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMkC,UACVM,EAAMxC,EAAMkC,SAEbD,EAAQjC,EAAMiC,MACRQ,EAAI,EAAGA,EAAIR,EAAM1C,OAAQkD,IAE9B,OADAH,EAAOL,EAAMvB,OAAQ+B,IAErB,IAAK,IACJzC,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM2C,UAAW,EACjB,MACD,IAAK,IACJ3C,EAAM2C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ5C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmBuE,GAGtC,GAAqB,MAAhBtC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAUyC,UAAWL,GAAO,IAC1CA,GAAO,EACFT,EAAO/B,EAAMb,OACjB,MAAM,IAAIuD,UAAW,wCAA0CF,EAAM,6BAA+BxC,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKkD,GACqB,MAApBrC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAUyC,UAAWL,GAAO,IAC9CA,GAAO,EACFT,EAAO/B,EAAMM,WACjB,MAAM,IAAIoC,UAAW,4CAA8CF,EAAM,6BAA+BxC,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClB+B,GAAY,EAEb,CAGF,OADArC,EAAMG,IAAM0C,UAAWL,GACdxC,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECmC,IACJrC,EAAM2C,UAAW,GAElB3C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM8C,SAAW,EAAgB9C,EAAMM,WAAa,EACpDN,EAAMG,IAAMR,OAAQK,EAAMG,KAC1B,MACD,IAAK,IAEJ,IAAM4B,EAAO/B,EAAMG,KAAQ,CAE1B,IADAoC,EAAMnC,SAAUJ,EAAMG,IAAK,KAChB,GAAKoC,EAAM,IACrB,MAAM,IAAIxE,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ4B,EAAOQ,GAAU5C,OAAQK,EAAMG,KAAQyB,EAAcW,EACnE,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLrC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,EAAcpB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAM8C,UAAY,GAAK9C,EAAMG,IAAIZ,OAASS,EAAM8C,WACpD9C,EAAMG,IAAMH,EAAMG,IAAI4C,UAAW,EAAG/C,EAAM8C,WAEtC9C,EAAM2C,SACV3C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,KDzKSjB,ECyKOc,EAAMG,IDzKRhB,ECyKaa,EAAMb,MDzKZC,ECyKmBY,EAAMO,SDxKnDjB,YAAMH,EAAQD,EAAIK,QACX,EACHL,EAERA,EAAM,EACLA,EAAMyC,EAAQrC,GACdqC,EAAQrC,GAAQJ,ICoKfrC,GAAOmD,EAAMG,KAAO,GACpBqC,GAAO,CACP,CAEF,OAAO3F,CACR,CE5MA,IAAImG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAIlD,EAAQ,CACXkC,QAAagB,EAAO,GAAQ9C,SAAU8C,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB5C,UAAa4C,EAAO,GACpBhD,UAAagD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjClD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASmD,EAAgBjE,GACxB,IAAIkE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ6C,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ6C,EAAOqB,KAAML,GAEPhB,CACR,CCtCA,SAASsB,EAAQxE,GAChB,IAAIyE,EACA3E,EAEJ,GCf0B,iBDeVE,EACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAGjG,IADAyE,EAAO,CAAEC,EAAU1E,IACbF,EAAI,EAAGA,EAAI6D,UAAUtD,OAAQP,IAClC2E,EAAKF,KAAMZ,UAAW7D,IAEvB,OAAO6E,EAAYC,MAAO,KAAMH,EACjC,CE7BA,IAAII,GAAiB9H,OAAOC,UACxBF,GAAQ+H,GAAe5H,SACvB6H,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA5F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CACP,CAAC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGKwH,GACa3G,EDqBlB,SAAyB4G,EAAKC,EAAMC,GACnC,IAAI1I,EACA2I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB1I,GAAMgB,KAAM0H,GAC3D,MAAM,IAAIhC,UAAWgB,EAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B5I,GAAMgB,KAAM4H,GACzE,MAAM,IAAIlC,UAAWgB,EAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAapH,KAAM0H,EAAKC,IACxBL,GAAatH,KAAM0H,EAAKC,IAGxBzI,EAAYwI,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW9H,MAGzB4H,EAAIM,UAAY9I,GAEhBwI,EAAKC,GAASC,EAAW9H,OAG3BgI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAIhH,MAAO,wHASlB,OANK+G,GAAUd,IACdA,GAAahH,KAAM0H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAalH,KAAM0H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAM7H,GAC7C8B,GAAgB8F,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxI,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDcUsI,CAAMzI,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCoBA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICnBA,IAAIE,GAAerI,GAAOsI,kBClB1B,SAASC,GAAW/I,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWoH,EDDXhJ,KCEagJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAW/I,GACnB,OACC+B,GAAU/B,IACViJ,GAAOjJ,EAET,CCLA,SAAS+I,GAAW/I,GACnB,OACC+B,GAAU/B,IACViJ,GAAOjJ,EAAMkJ,UAEf,CCGA,SAASH,GAAW/I,GACnB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCXA,SAASmJ,GAAsBnJ,GAC9B,OACC+I,GAAW/I,IACXA,GAAS,CAEX,CCLA,SAASmJ,GAAsBnJ,GAC9B,OACC+I,GAAW/I,IACXA,EAAMkJ,WAAa,CAErB,CCQA,SAASC,GAAsBnJ,GAC9B,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCtBA,SAASoJ,GAAUpJ,GAClB,MAA0B,iBAAVA,CACjB,CCmCA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICAAC,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICpDA,IAAIO,GAAUrG,OAAOzD,UAAU8J,QCQ/B,IAAIpK,GAAMa,IAmBV,SAASyJ,GAAUpJ,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAkJ,GAAQhJ,KAAMF,IACP,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDaUsI,CAAMzI,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAASoJ,GAAUpJ,GAClB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCsBA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,IChBA,IAAIU,GAA2B,iBC7B3B1I,QAA4C,IAA5BkC,OAAOzD,UAAUkK,OCArC,IAAIA,GAASzG,OAAOzD,UAAUkK,OCmC9B,IAAAnG,GATKoG,GCFL,SAAiBnH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIuH,EACAC,EACJ,GAAoB,IAAfrH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAuH,EAAM,GACNC,EAAMxH,EAGY,IAAP,EAAJwH,KACLD,GAAOpH,GAIK,IADbqH,KAAS,IAKTrH,GAAOA,EAER,OAAOoH,CACR,EC1DIE,GAAO7H,KAAK6H,KCWhB,SAASC,GAAMvH,EAAKwH,EAAKpH,GACxB,IAAIqH,EACJ,IAAMT,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUtD,OAAS,EAAI,CAE3B,IAAM2G,GADNS,EAAIrH,GAEH,MAAM,IAAIoD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAEpH,OACN,MAAM,IAAIqH,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAexH,EAAKwH,EAAKpH,GACxB,IAAIP,GAAM2H,EAAMxH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAIyH,GAAMzH,GACHG,EAAMkH,GAAQ9G,EAAKP,GAC3B,CDsBQkB,CAAMf,EAAKwH,EAAKC,EACxB,CEvBA,SAASE,GAAM3H,EAAKwH,EAAKpH,GACxB,IAAIqH,EACJ,IAAMT,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUtD,OAAS,EAAI,CAE3B,IAAM2G,GADNS,EAAIrH,GAEH,MAAM,IAAIoD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAEpH,OACN,MAAM,IAAIqH,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAexH,EAAKwH,EAAKpH,GACxB,IAAIP,GAAM2H,EAAMxH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAIyH,GAAMzH,GACHqH,GAAQ9G,EAAKP,GAAMG,EAC3B,CDsBQe,CAAMf,EAAKwH,EAAKC,EACxB,CE1BA,SAASP,GAAQlH,EAAKH,GACrB,IAAMmH,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBlH,GAC3B,MAAM,IAAI2D,UAAWgB,EAAQ,gFAAiF3E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAAS+H,GAAMhB,GAKd,IAJA,IACIiB,EADA7H,EAAM,GAIF4G,EAAI,GAIV5G,GAHD6H,EAAIjB,EAAI,MACRA,EAAIpH,EAAOqI,IAEJ,IAAM7H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC3CA,IAAI8H,GAAW,IACXC,GAAW,GCwEf,SAASC,GAAiBpB,GACzB,IAAIqB,EACA3G,EACAtB,EACAkI,EACArI,EACAuC,EACAtC,EASJ,GALCwB,EADIsF,EAAI,GAAO,EAAIA,IAAMrH,EAClB,IAEA,IAGHqH,IAAMlI,GAAQkI,IAAMrH,EAIxB,OAAO+B,GAFP4G,EAAMhB,GAAQ,IA3EQ,KA4EtBlH,EAAMkH,GAAQ,IA7EW,KAiF1B,GAAKN,GAAMA,EAIV,OAAOtF,GAFP4G,EAAMhB,GAAQ,IAlFQ,KAmFtBlH,EAAM,IAAMkH,GAAQ,IAAKiB,KAI1B,GAAW,IAANvB,EAIJ,OAAOtF,GAFP4G,EAAMhB,GAAQ,IAzFQ,KA0FtBlH,EAAMkH,GAAQ,IA3FW,KA2G1B,GAPA9E,GANAwE,ECnFD,SAAcA,GACb,OAAOnH,KAAKgC,IAAKmF,EAClB,CDiFKnF,CAAKmF,KAGT/G,EAAIL,EAAOoH,IAMX/G,EAAI+H,GAAM/H,GACVuC,EDlGD,SAAgBwE,GACf,IAAI5G,EACA6H,EACA/H,EACAyD,EAGJ,GADAvD,EAAM,GACK,IAAN4G,EACJ,OAAO5G,EAKR,IAHAuD,EAAIuE,GAGEhI,EAAI,EAAGA,EAAIgI,MAChBD,EAAQ,EAAJjB,IACM,GACTA,EAAIiB,EAAI,EACR7H,GAAO,IACFuD,IAAMuE,KACVvE,EAAIzD,KAGL8G,EAAIiB,EACJ7H,GAAO,OAGG,IAAN6H,GAAa/H,EAAEyD,EAAIwE,KAbEjI,KAkB3B,OAAOE,CACR,CCkEKoI,CAAOhG,GAGNvC,EAEJqI,EAAMrI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIsC,EAAE/B,OAAQP,IAC1B,GAAgB,MAAXsC,EAAGtC,GAAc,CACrBmI,EAAQnI,EAAI,EACZ,KACA,CAGFoI,GAAOD,CACP,CAuBD,OArBAjI,EAAMH,EAAIuC,EACL8F,EAAM,GAELA,IE9GqB,MFgHzBD,EAAQI,KAGTrI,EAAMA,EAAI6D,UAAWoE,IAGrBjI,EAAMA,EAAI6D,UAAW,GAUfvC,GANP4G,EAAMP,GADNO,EAAMN,GAAMM,EEzHe,KFdJ,EAwIa,OAGpClI,EAAMuH,GAAMvH,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IAgJ3B","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,81,82]} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index f7fa652..0000000 --- a/stats.html +++ /dev/null @@ -1,4842 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From 7c7484cda2647c55ac3ba384a37758d45e959f23 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Thu, 1 Aug 2024 10:05:56 +0000 Subject: [PATCH 122/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 66 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 794 ---- .github/workflows/publish.yml | 252 -- .github/workflows/test.yml | 99 - .github/workflows/test_bundles.yml | 186 - .github/workflows/test_coverage.yml | 133 - .github/workflows/test_install.yml | 85 - .gitignore | 190 - .npmignore | 229 - .npmrc | 31 - CHANGELOG.md | 158 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 --- README.md | 44 +- SECURITY.md | 5 - benchmark/benchmark.js | 52 - branches.md | 56 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 4842 +++++++++++++++++++++ test/dist/test.js | 33 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 84 - test/test.js | 162 - 51 files changed, 4863 insertions(+), 4440 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 SECURITY.md delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 60d743f..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 1c88e69..0000000 --- a/.gitattributes +++ /dev/null @@ -1,66 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/lib/node_modules/** -linguist-vendored -linguist-generated - -# Configure directories which should *not* be included in GitHub language statistics: -/deps/** linguist-vendored -/dist/** linguist-generated -/workshops/** linguist-vendored - -benchmark/** linguist-vendored -docs/* linguist-documentation -etc/** linguist-vendored -examples/** linguist-documentation -scripts/** linguist-vendored -test/** linguist-vendored -tools/** linguist-vendored - -# Configure files which should *not* be included in GitHub language statistics: -Makefile linguist-vendored -*.mk linguist-vendored -*.jl linguist-vendored -*.py linguist-vendored -*.R linguist-vendored - -# Configure files which should be included in GitHub language statistics: -docs/types/*.d.ts -linguist-documentation diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index 00b3a5f..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2024-08-01T04:01:21.000Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index e4f10fe..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index b5291db..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # v0.12.1 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 2984901..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index e313406..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 # v3.0.3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index f4575e9..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,794 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 -r sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA - uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 - with: - status: ${{ job.status }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index a8a9c60..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,33 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2023 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 main = require( './../../dist' ); - - -// TESTS // - -tape( 'main export is defined', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( main !== void 0, true, 'main export is defined' ); - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index fb9fc20..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index 7d4bc51..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 316e027..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index f370bba..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index 9cc0556..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - write( outfile, "\n" ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From d30568a35b8ef8b5e47266254a90f193eb63964b Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sat, 3 Aug 2024 20:41:44 +0000 Subject: [PATCH 123/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 3b7a9d2..a77479f 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.2.3", "@stdlib/string-left-pad": "^0.2.2", "@stdlib/string-repeat": "^0.2.2", - "@stdlib/string-right-pad": "^0.2.2" + "@stdlib/string-right-pad": "^0.2.2", + "@stdlib/error-tools-fmtprodmsg": "^0.2.2" }, "devDependencies": { "@stdlib/assert-is-string": "^0.2.2", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From 2ff403a688092149aec7723835ac64f92d1e4738 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 4 Aug 2024 00:00:16 +0000 Subject: [PATCH 124/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 4842 ---------------------------------------------------- 4 files changed, 4925 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 84d9489..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( '@stdlib/constants-float32-pinf' ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( '@stdlib/constants-float32-ninf' ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 3d7dac2..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2024 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var l=Number.POSITIVE_INFINITY,s="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof s)return!1;try{e=new s([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===l}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,d="function"==typeof Uint32Array;var h="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof h)return!1;try{e=new h(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(d&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var V=Object.defineProperty;function j(r){return"number"==typeof r}function x(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=$.call(t,W,"$1e"),t=$.call(t,M,"e"),t=$.call(t,Z,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=$.call(t,U,"e+0$1"),t=$.call(t,N,"e-0$1"),r.alternate&&(t=$.call(t,C,"$1."),t=$.call(t,G,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===R.call(r.specifier)?R.call(t):P.call(t)}function X(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=q(a)?String(n.arg):Y(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=L(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=A(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=(s=n.arg,f=n.width,p=n.padRight,g=void 0,(g=f-s.length)<0?s:s=p?s+X(g):X(g)+s)),o+=n.arg||"",u+=1}return o}var H=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function J(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function K(r){var e,t,n,i;for(t=[],i=0,n=H.exec(r);n;)(e=r.slice(i,H.lastIndex-n[0].length)).length&&t.push(e),t.push(J(n)),i=H.lastIndex,n=H.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function Q(r){var e,t;if("string"!=typeof r)throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=[K(r)],t=1;tdr&&_(e=r)===e;var e}function vr(r){return cr(r)&&hr(r)}function yr(r){return pr(r)&&hr(r.valueOf())}function mr(r){return vr(r)||yr(r)}function wr(r){return vr(r)&&r>=0}function br(r){return yr(r)&&r.valueOf()>=0}function Er(r){return wr(r)||br(r)}function Sr(r){return"string"==typeof r}ur(mr,"isPrimitive",vr),ur(mr,"isObject",yr),ur(Er,"isPrimitive",wr),ur(Er,"isObject",br);var _r=String.prototype.valueOf;var Tr=e();function Vr(r){return"object"==typeof r&&(r instanceof String||(Tr?function(r){try{return _r.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function jr(r){return Sr(r)||Vr(r)}ur(jr,"isPrimitive",Sr),ur(jr,"isObject",Vr);var xr=9007199254740991,Ar=void 0!==String.prototype.repeat;var Fr=String.prototype.repeat;var kr=Ar?function(r,e){return Fr.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Or=Math.ceil;function Ir(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),r+kr(t,n))}(r,e,n)}function Pr(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),kr(t,n)+r)}(r,e,n)}function Rr(r,e){if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return kr(r,e)}function $r(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}var Ur=149,Nr=24;function Cr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=Rr("1",8))+(n=Rr("0",23));if(r!=r)return t+(i=Rr("1",8))+(n="1"+Rr("0",22));if(0===r)return t+(i=Rr("0",8))+(n=Rr("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=$r(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=Ur,n=0;n=1?(r=t-1,e+="1",i===Ur&&(i=n)):(r=t,e+="0"),!(1===t||n-i>Nr));n++);return e}(o),a)i=a.length-1;else{for(u=0;u\n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e' );\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Returns a boolean indicating whether a value is `NaN`.\n*\n* @private\n* @param {*} value - input value\n* @returns {boolean} boolean indicating whether a value is `NaN`\n*\n* @example\n* var bool = isnan( NaN );\n* // returns true\n*\n* @example\n* var bool = isnan( 4 );\n* // returns false\n*/\nfunction isnan( value ) { // explicitly define a function here instead of `@stdlib/math/base/assert/is-nan` in order to avoid circular dependencies\n\treturn ( value !== value );\n}\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\ttoken.arg = String( token.arg );\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ? String( token.arg ) : fromCharCode( num ); // eslint-disable-line max-len\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\targs = [ tokenize( str ) ];\n\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\targs.push( arguments[ i ] );\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","fromCharCode","isArray","Array","isnan","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","FLOAT64_MAX_SAFE_INTEGER","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","p","RangeError","lpad","div2","y","MAX_ITER","MAX_BITS","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CACnB,CAAC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAEd,CAAC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAEN,CAAC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CCpFA,IAAI8D,EAAMhC,KAAKgC,IACXjB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Bc,EAAUjB,OAAOzD,UAAU0E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcpB,GACtB,IAAIqB,EACAxE,EACAyE,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMzC,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7DyE,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAMyE,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAMyE,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,EAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEXxE,EAAMyE,EAAEE,cAAeH,IAEvBxE,EAAMyE,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAM+D,EAAQ5D,KAAMH,EAAKsE,EAAoB,OAC7CtE,EAAM+D,EAAQ5D,KAAMH,EAAKqE,EAAoB,KAC7CrE,EAAM+D,EAAQ5D,KAAMH,EAAKoE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAIlD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAM+D,EAAQ5D,KAAMH,EAAKgE,EAAmB,SAC5ChE,EAAM+D,EAAQ5D,KAAMH,EAAKiE,EAAmB,SACvCd,EAAMS,YACV5D,EAAM+D,EAAQ5D,KAAMH,EAAKkE,EAAgB,OACzClE,EAAM+D,EAAQ5D,KAAMH,EAAKmE,EAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS8E,EAAQ5C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CCLA,IAAI+E,EAAejC,OAAOiC,aACtBC,EAAUC,MAAMD,QAoBpB,SAASE,EAAOjF,GACf,OAASA,GAAUA,CACpB,CASA,SAASkF,EAAYhC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIoF,MAAQjC,EAAMiC,OAAS,GAC3BpF,EAAIqF,QAAUlC,EAAMkC,QACbrF,CACR,CAmBA,SAASsF,EAAmBC,GAC3B,IAAIC,EACAJ,EACAjC,EACAsC,EACAC,EACA1F,EACA2F,EACAxD,EACAyD,EDjDcvD,EAAKC,EAAOC,EAC1BE,ECkDJ,IAAMuC,EAASO,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFAvF,EAAM,GACN2F,EAAM,EACAxD,EAAI,EAAGA,EAAIoD,EAAO7C,OAAQP,IAE/B,GADAgB,EAAQoC,EAAQpD,GCxES,iBDyEVgB,EACdnD,GAAOmD,MACD,CAGN,GAFAqC,OAAgC,IAApBrC,EAAMM,YAClBN,EAAQgC,EAAYhC,IACRE,UACX,MAAM,IAAIwC,UAAW,oEAAqE1D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMkC,UACVM,EAAMxC,EAAMkC,SAEbD,EAAQjC,EAAMiC,MACRQ,EAAI,EAAGA,EAAIR,EAAM1C,OAAQkD,IAE9B,OADAH,EAAOL,EAAMvB,OAAQ+B,IAErB,IAAK,IACJzC,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM2C,UAAW,EACjB,MACD,IAAK,IACJ3C,EAAM2C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ5C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmBuE,GAGtC,GAAqB,MAAhBtC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAUyC,UAAWL,GAAO,IAC1CA,GAAO,EACFT,EAAO/B,EAAMb,OACjB,MAAM,IAAIuD,UAAW,wCAA0CF,EAAM,6BAA+BxC,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKkD,GACqB,MAApBrC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAUyC,UAAWL,GAAO,IAC9CA,GAAO,EACFT,EAAO/B,EAAMM,WACjB,MAAM,IAAIoC,UAAW,4CAA8CF,EAAM,6BAA+BxC,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClB+B,GAAY,EAEb,CAGF,OADArC,EAAMG,IAAM0C,UAAWL,GACdxC,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECmC,IACJrC,EAAM2C,UAAW,GAElB3C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM8C,SAAW,EAAgB9C,EAAMM,WAAa,EACpDN,EAAMG,IAAMR,OAAQK,EAAMG,KAC1B,MACD,IAAK,IAEJ,IAAM4B,EAAO/B,EAAMG,KAAQ,CAE1B,IADAoC,EAAMnC,SAAUJ,EAAMG,IAAK,KAChB,GAAKoC,EAAM,IACrB,MAAM,IAAIxE,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ4B,EAAOQ,GAAU5C,OAAQK,EAAMG,KAAQyB,EAAcW,EACnE,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLrC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,EAAcpB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAM8C,UAAY,GAAK9C,EAAMG,IAAIZ,OAASS,EAAM8C,WACpD9C,EAAMG,IAAMH,EAAMG,IAAI4C,UAAW,EAAG/C,EAAM8C,WAEtC9C,EAAM2C,SACV3C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,KDzKSjB,ECyKOc,EAAMG,IDzKRhB,ECyKaa,EAAMb,MDzKZC,ECyKmBY,EAAMO,SDxKnDjB,YAAMH,EAAQD,EAAIK,QACX,EACHL,EAERA,EAAM,EACLA,EAAMyC,EAAQrC,GACdqC,EAAQrC,GAAQJ,ICoKfrC,GAAOmD,EAAMG,KAAO,GACpBqC,GAAO,CACP,CAEF,OAAO3F,CACR,CE5MA,IAAImG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAIlD,EAAQ,CACXkC,QAAagB,EAAO,GAAQ9C,SAAU8C,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB5C,UAAa4C,EAAO,GACpBhD,UAAagD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjClD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASmD,EAAgBjE,GACxB,IAAIkE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ6C,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ6C,EAAOqB,KAAML,GAEPhB,CACR,CCtCA,SAASsB,EAAQxE,GAChB,IAAIyE,EACA3E,EAEJ,GCf0B,iBDeVE,EACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAGjG,IADAyE,EAAO,CAAEC,EAAU1E,IACbF,EAAI,EAAGA,EAAI6D,UAAUtD,OAAQP,IAClC2E,EAAKF,KAAMZ,UAAW7D,IAEvB,OAAO6E,EAAYC,MAAO,KAAMH,EACjC,CE7BA,IAAII,GAAiB9H,OAAOC,UACxBF,GAAQ+H,GAAe5H,SACvB6H,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA5F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CACP,CAAC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGKwH,GACa3G,EDqBlB,SAAyB4G,EAAKC,EAAMC,GACnC,IAAI1I,EACA2I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB1I,GAAMgB,KAAM0H,GAC3D,MAAM,IAAIhC,UAAWgB,EAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B5I,GAAMgB,KAAM4H,GACzE,MAAM,IAAIlC,UAAWgB,EAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAapH,KAAM0H,EAAKC,IACxBL,GAAatH,KAAM0H,EAAKC,IAGxBzI,EAAYwI,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW9H,MAGzB4H,EAAIM,UAAY9I,GAEhBwI,EAAKC,GAASC,EAAW9H,OAG3BgI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAIhH,MAAO,wHASlB,OANK+G,GAAUd,IACdA,GAAahH,KAAM0H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAalH,KAAM0H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAM7H,GAC7C8B,GAAgB8F,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxI,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDcUsI,CAAMzI,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCoBA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICnBA,IAAIE,GAAerI,GAAOsI,kBClB1B,SAASC,GAAW/I,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWoH,EDDXhJ,KCEagJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAW/I,GACnB,OACC+B,GAAU/B,IACViJ,GAAOjJ,EAET,CCLA,SAAS+I,GAAW/I,GACnB,OACC+B,GAAU/B,IACViJ,GAAOjJ,EAAMkJ,UAEf,CCGA,SAASH,GAAW/I,GACnB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCXA,SAASmJ,GAAsBnJ,GAC9B,OACC+I,GAAW/I,IACXA,GAAS,CAEX,CCLA,SAASmJ,GAAsBnJ,GAC9B,OACC+I,GAAW/I,IACXA,EAAMkJ,WAAa,CAErB,CCQA,SAASC,GAAsBnJ,GAC9B,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCtBA,SAASoJ,GAAUpJ,GAClB,MAA0B,iBAAVA,CACjB,CCmCA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICAAC,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICpDA,IAAIO,GAAUrG,OAAOzD,UAAU8J,QCQ/B,IAAIpK,GAAMa,IAmBV,SAASyJ,GAAUpJ,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAkJ,GAAQhJ,KAAMF,IACP,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDaUsI,CAAMzI,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAASoJ,GAAUpJ,GAClB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCsBA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,IChBA,IAAIU,GAA2B,iBC7B3B1I,QAA4C,IAA5BkC,OAAOzD,UAAUkK,OCArC,IAAIA,GAASzG,OAAOzD,UAAUkK,OCmC9B,IAAAnG,GATKoG,GCFL,SAAiBnH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIuH,EACAC,EACJ,GAAoB,IAAfrH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAuH,EAAM,GACNC,EAAMxH,EAGY,IAAP,EAAJwH,KACLD,GAAOpH,GAIK,IADbqH,KAAS,IAKTrH,GAAOA,EAER,OAAOoH,CACR,EC1DIE,GAAO7H,KAAK6H,KCWhB,SAASC,GAAMvH,EAAKwH,EAAKpH,GACxB,IAAIqH,EACJ,IAAMT,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUtD,OAAS,EAAI,CAE3B,IAAM2G,GADNS,EAAIrH,GAEH,MAAM,IAAIoD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAEpH,OACN,MAAM,IAAIqH,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAexH,EAAKwH,EAAKpH,GACxB,IAAIP,GAAM2H,EAAMxH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAIyH,GAAMzH,GACHG,EAAMkH,GAAQ9G,EAAKP,GAC3B,CDsBQkB,CAAMf,EAAKwH,EAAKC,EACxB,CEvBA,SAASE,GAAM3H,EAAKwH,EAAKpH,GACxB,IAAIqH,EACJ,IAAMT,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUtD,OAAS,EAAI,CAE3B,IAAM2G,GADNS,EAAIrH,GAEH,MAAM,IAAIoD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAEpH,OACN,MAAM,IAAIqH,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAexH,EAAKwH,EAAKpH,GACxB,IAAIP,GAAM2H,EAAMxH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAIyH,GAAMzH,GACHqH,GAAQ9G,EAAKP,GAAMG,EAC3B,CDsBQe,CAAMf,EAAKwH,EAAKC,EACxB,CE1BA,SAASP,GAAQlH,EAAKH,GACrB,IAAMmH,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBlH,GAC3B,MAAM,IAAI2D,UAAWgB,EAAQ,gFAAiF3E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAAS+H,GAAMhB,GAKd,IAJA,IACIiB,EADA7H,EAAM,GAIF4G,EAAI,GAIV5G,GAHD6H,EAAIjB,EAAI,MACRA,EAAIpH,EAAOqI,IAEJ,IAAM7H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC3CA,IAAI8H,GAAW,IACXC,GAAW,GCwEf,SAASC,GAAiBpB,GACzB,IAAIqB,EACA3G,EACAtB,EACAkI,EACArI,EACAuC,EACAtC,EASJ,GALCwB,EADIsF,EAAI,GAAO,EAAIA,IAAMrH,EAClB,IAEA,IAGHqH,IAAMlI,GAAQkI,IAAMrH,EAIxB,OAAO+B,GAFP4G,EAAMhB,GAAQ,IA3EQ,KA4EtBlH,EAAMkH,GAAQ,IA7EW,KAiF1B,GAAKN,GAAMA,EAIV,OAAOtF,GAFP4G,EAAMhB,GAAQ,IAlFQ,KAmFtBlH,EAAM,IAAMkH,GAAQ,IAAKiB,KAI1B,GAAW,IAANvB,EAIJ,OAAOtF,GAFP4G,EAAMhB,GAAQ,IAzFQ,KA0FtBlH,EAAMkH,GAAQ,IA3FW,KA2G1B,GAPA9E,GANAwE,ECnFD,SAAcA,GACb,OAAOnH,KAAKgC,IAAKmF,EAClB,CDiFKnF,CAAKmF,KAGT/G,EAAIL,EAAOoH,IAMX/G,EAAI+H,GAAM/H,GACVuC,EDlGD,SAAgBwE,GACf,IAAI5G,EACA6H,EACA/H,EACAyD,EAGJ,GADAvD,EAAM,GACK,IAAN4G,EACJ,OAAO5G,EAKR,IAHAuD,EAAIuE,GAGEhI,EAAI,EAAGA,EAAIgI,MAChBD,EAAQ,EAAJjB,IACM,GACTA,EAAIiB,EAAI,EACR7H,GAAO,IACFuD,IAAMuE,KACVvE,EAAIzD,KAGL8G,EAAIiB,EACJ7H,GAAO,OAGG,IAAN6H,GAAa/H,EAAEyD,EAAIwE,KAbEjI,KAkB3B,OAAOE,CACR,CCkEKoI,CAAOhG,GAGNvC,EAEJqI,EAAMrI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIsC,EAAE/B,OAAQP,IAC1B,GAAgB,MAAXsC,EAAGtC,GAAc,CACrBmI,EAAQnI,EAAI,EACZ,KACA,CAGFoI,GAAOD,CACP,CAuBD,OArBAjI,EAAMH,EAAIuC,EACL8F,EAAM,GAELA,IE9GqB,MFgHzBD,EAAQI,KAGTrI,EAAMA,EAAI6D,UAAWoE,IAGrBjI,EAAMA,EAAI6D,UAAW,GAUfvC,GANP4G,EAAMP,GADNO,EAAMN,GAAMM,EEzHe,KFdJ,EAwIa,OAGpClI,EAAMuH,GAAMvH,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IAgJ3B","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,81,82]} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index f7fa652..0000000 --- a/stats.html +++ /dev/null @@ -1,4842 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From c506e348a944b9adaffaa47c2d5f6e4842572f2b Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 4 Aug 2024 00:00:32 +0000 Subject: [PATCH 125/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 66 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 794 ---- .github/workflows/publish.yml | 252 -- .github/workflows/test.yml | 99 - .github/workflows/test_bundles.yml | 186 - .github/workflows/test_coverage.yml | 133 - .github/workflows/test_install.yml | 85 - .gitignore | 190 - .npmignore | 229 - .npmrc | 31 - CHANGELOG.md | 223 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 --- README.md | 44 +- SECURITY.md | 5 - benchmark/benchmark.js | 52 - branches.md | 56 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 4842 +++++++++++++++++++++ test/dist/test.js | 33 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 84 - test/test.js | 162 - 51 files changed, 4863 insertions(+), 4505 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 SECURITY.md delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 60d743f..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 1c88e69..0000000 --- a/.gitattributes +++ /dev/null @@ -1,66 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/lib/node_modules/** -linguist-vendored -linguist-generated - -# Configure directories which should *not* be included in GitHub language statistics: -/deps/** linguist-vendored -/dist/** linguist-generated -/workshops/** linguist-vendored - -benchmark/** linguist-vendored -docs/* linguist-documentation -etc/** linguist-vendored -examples/** linguist-documentation -scripts/** linguist-vendored -test/** linguist-vendored -tools/** linguist-vendored - -# Configure files which should *not* be included in GitHub language statistics: -Makefile linguist-vendored -*.mk linguist-vendored -*.jl linguist-vendored -*.py linguist-vendored -*.R linguist-vendored - -# Configure files which should be included in GitHub language statistics: -docs/types/*.d.ts -linguist-documentation diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index c8e40d7..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2024-08-03T19:19:47.444Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index e4f10fe..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index b5291db..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # v0.12.1 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 2984901..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index e313406..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 # v3.0.3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index f4575e9..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,794 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 -r sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA - uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 - with: - status: ${{ job.status }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index a8a9c60..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,33 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2023 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 main = require( './../../dist' ); - - -// TESTS // - -tape( 'main export is defined', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( main !== void 0, true, 'main export is defined' ); - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index fb9fc20..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index 7d4bc51..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 316e027..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index f370bba..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index 9cc0556..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - write( outfile, "\n" ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 8286746159d73970e0f3f8403d5f49f26789ba03 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 1 Sep 2024 05:44:51 +0000 Subject: [PATCH 126/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 3b7a9d2..a77479f 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.2.3", "@stdlib/string-left-pad": "^0.2.2", "@stdlib/string-repeat": "^0.2.2", - "@stdlib/string-right-pad": "^0.2.2" + "@stdlib/string-right-pad": "^0.2.2", + "@stdlib/error-tools-fmtprodmsg": "^0.2.2" }, "devDependencies": { "@stdlib/assert-is-string": "^0.2.2", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From 5d250ad027bf572fe273b0e4e7b3c34d5417b077 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 1 Sep 2024 10:00:59 +0000 Subject: [PATCH 127/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 4842 ---------------------------------------------------- 4 files changed, 4925 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 84d9489..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( '@stdlib/constants-float32-pinf' ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( '@stdlib/constants-float32-ninf' ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 3d7dac2..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2024 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var l=Number.POSITIVE_INFINITY,s="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof s)return!1;try{e=new s([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===l}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,d="function"==typeof Uint32Array;var h="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof h)return!1;try{e=new h(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(d&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var V=Object.defineProperty;function j(r){return"number"==typeof r}function x(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=$.call(t,W,"$1e"),t=$.call(t,M,"e"),t=$.call(t,Z,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=$.call(t,U,"e+0$1"),t=$.call(t,N,"e-0$1"),r.alternate&&(t=$.call(t,C,"$1."),t=$.call(t,G,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===R.call(r.specifier)?R.call(t):P.call(t)}function X(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=q(a)?String(n.arg):Y(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=L(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=A(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=(s=n.arg,f=n.width,p=n.padRight,g=void 0,(g=f-s.length)<0?s:s=p?s+X(g):X(g)+s)),o+=n.arg||"",u+=1}return o}var H=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function J(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function K(r){var e,t,n,i;for(t=[],i=0,n=H.exec(r);n;)(e=r.slice(i,H.lastIndex-n[0].length)).length&&t.push(e),t.push(J(n)),i=H.lastIndex,n=H.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function Q(r){var e,t;if("string"!=typeof r)throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=[K(r)],t=1;tdr&&_(e=r)===e;var e}function vr(r){return cr(r)&&hr(r)}function yr(r){return pr(r)&&hr(r.valueOf())}function mr(r){return vr(r)||yr(r)}function wr(r){return vr(r)&&r>=0}function br(r){return yr(r)&&r.valueOf()>=0}function Er(r){return wr(r)||br(r)}function Sr(r){return"string"==typeof r}ur(mr,"isPrimitive",vr),ur(mr,"isObject",yr),ur(Er,"isPrimitive",wr),ur(Er,"isObject",br);var _r=String.prototype.valueOf;var Tr=e();function Vr(r){return"object"==typeof r&&(r instanceof String||(Tr?function(r){try{return _r.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function jr(r){return Sr(r)||Vr(r)}ur(jr,"isPrimitive",Sr),ur(jr,"isObject",Vr);var xr=9007199254740991,Ar=void 0!==String.prototype.repeat;var Fr=String.prototype.repeat;var kr=Ar?function(r,e){return Fr.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Or=Math.ceil;function Ir(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),r+kr(t,n))}(r,e,n)}function Pr(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),kr(t,n)+r)}(r,e,n)}function Rr(r,e){if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return kr(r,e)}function $r(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}var Ur=149,Nr=24;function Cr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=Rr("1",8))+(n=Rr("0",23));if(r!=r)return t+(i=Rr("1",8))+(n="1"+Rr("0",22));if(0===r)return t+(i=Rr("0",8))+(n=Rr("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=$r(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=Ur,n=0;n=1?(r=t-1,e+="1",i===Ur&&(i=n)):(r=t,e+="0"),!(1===t||n-i>Nr));n++);return e}(o),a)i=a.length-1;else{for(u=0;u\n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e' );\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Returns a boolean indicating whether a value is `NaN`.\n*\n* @private\n* @param {*} value - input value\n* @returns {boolean} boolean indicating whether a value is `NaN`\n*\n* @example\n* var bool = isnan( NaN );\n* // returns true\n*\n* @example\n* var bool = isnan( 4 );\n* // returns false\n*/\nfunction isnan( value ) { // explicitly define a function here instead of `@stdlib/math/base/assert/is-nan` in order to avoid circular dependencies\n\treturn ( value !== value );\n}\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\ttoken.arg = String( token.arg );\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ? String( token.arg ) : fromCharCode( num ); // eslint-disable-line max-len\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\targs = [ tokenize( str ) ];\n\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\targs.push( arguments[ i ] );\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","fromCharCode","isArray","Array","isnan","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","FLOAT64_MAX_SAFE_INTEGER","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","p","RangeError","lpad","div2","y","MAX_ITER","MAX_BITS","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CACnB,CAAC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAEd,CAAC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAEN,CAAC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CCpFA,IAAI8D,EAAMhC,KAAKgC,IACXjB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Bc,EAAUjB,OAAOzD,UAAU0E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcpB,GACtB,IAAIqB,EACAxE,EACAyE,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMzC,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7DyE,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAMyE,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAMyE,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,EAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEXxE,EAAMyE,EAAEE,cAAeH,IAEvBxE,EAAMyE,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAM+D,EAAQ5D,KAAMH,EAAKsE,EAAoB,OAC7CtE,EAAM+D,EAAQ5D,KAAMH,EAAKqE,EAAoB,KAC7CrE,EAAM+D,EAAQ5D,KAAMH,EAAKoE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAIlD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAM+D,EAAQ5D,KAAMH,EAAKgE,EAAmB,SAC5ChE,EAAM+D,EAAQ5D,KAAMH,EAAKiE,EAAmB,SACvCd,EAAMS,YACV5D,EAAM+D,EAAQ5D,KAAMH,EAAKkE,EAAgB,OACzClE,EAAM+D,EAAQ5D,KAAMH,EAAKmE,EAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS8E,EAAQ5C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CCLA,IAAI+E,EAAejC,OAAOiC,aACtBC,EAAUC,MAAMD,QAoBpB,SAASE,EAAOjF,GACf,OAASA,GAAUA,CACpB,CASA,SAASkF,EAAYhC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIoF,MAAQjC,EAAMiC,OAAS,GAC3BpF,EAAIqF,QAAUlC,EAAMkC,QACbrF,CACR,CAmBA,SAASsF,EAAmBC,GAC3B,IAAIC,EACAJ,EACAjC,EACAsC,EACAC,EACA1F,EACA2F,EACAxD,EACAyD,EDjDcvD,EAAKC,EAAOC,EAC1BE,ECkDJ,IAAMuC,EAASO,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFAvF,EAAM,GACN2F,EAAM,EACAxD,EAAI,EAAGA,EAAIoD,EAAO7C,OAAQP,IAE/B,GADAgB,EAAQoC,EAAQpD,GCxES,iBDyEVgB,EACdnD,GAAOmD,MACD,CAGN,GAFAqC,OAAgC,IAApBrC,EAAMM,YAClBN,EAAQgC,EAAYhC,IACRE,UACX,MAAM,IAAIwC,UAAW,oEAAqE1D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMkC,UACVM,EAAMxC,EAAMkC,SAEbD,EAAQjC,EAAMiC,MACRQ,EAAI,EAAGA,EAAIR,EAAM1C,OAAQkD,IAE9B,OADAH,EAAOL,EAAMvB,OAAQ+B,IAErB,IAAK,IACJzC,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM2C,UAAW,EACjB,MACD,IAAK,IACJ3C,EAAM2C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ5C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmBuE,GAGtC,GAAqB,MAAhBtC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAUyC,UAAWL,GAAO,IAC1CA,GAAO,EACFT,EAAO/B,EAAMb,OACjB,MAAM,IAAIuD,UAAW,wCAA0CF,EAAM,6BAA+BxC,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKkD,GACqB,MAApBrC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAUyC,UAAWL,GAAO,IAC9CA,GAAO,EACFT,EAAO/B,EAAMM,WACjB,MAAM,IAAIoC,UAAW,4CAA8CF,EAAM,6BAA+BxC,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClB+B,GAAY,EAEb,CAGF,OADArC,EAAMG,IAAM0C,UAAWL,GACdxC,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECmC,IACJrC,EAAM2C,UAAW,GAElB3C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM8C,SAAW,EAAgB9C,EAAMM,WAAa,EACpDN,EAAMG,IAAMR,OAAQK,EAAMG,KAC1B,MACD,IAAK,IAEJ,IAAM4B,EAAO/B,EAAMG,KAAQ,CAE1B,IADAoC,EAAMnC,SAAUJ,EAAMG,IAAK,KAChB,GAAKoC,EAAM,IACrB,MAAM,IAAIxE,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ4B,EAAOQ,GAAU5C,OAAQK,EAAMG,KAAQyB,EAAcW,EACnE,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLrC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,EAAcpB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAM8C,UAAY,GAAK9C,EAAMG,IAAIZ,OAASS,EAAM8C,WACpD9C,EAAMG,IAAMH,EAAMG,IAAI4C,UAAW,EAAG/C,EAAM8C,WAEtC9C,EAAM2C,SACV3C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,KDzKSjB,ECyKOc,EAAMG,IDzKRhB,ECyKaa,EAAMb,MDzKZC,ECyKmBY,EAAMO,SDxKnDjB,YAAMH,EAAQD,EAAIK,QACX,EACHL,EAERA,EAAM,EACLA,EAAMyC,EAAQrC,GACdqC,EAAQrC,GAAQJ,ICoKfrC,GAAOmD,EAAMG,KAAO,GACpBqC,GAAO,CACP,CAEF,OAAO3F,CACR,CE5MA,IAAImG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAIlD,EAAQ,CACXkC,QAAagB,EAAO,GAAQ9C,SAAU8C,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB5C,UAAa4C,EAAO,GACpBhD,UAAagD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjClD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASmD,EAAgBjE,GACxB,IAAIkE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ6C,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ6C,EAAOqB,KAAML,GAEPhB,CACR,CCtCA,SAASsB,EAAQxE,GAChB,IAAIyE,EACA3E,EAEJ,GCf0B,iBDeVE,EACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAGjG,IADAyE,EAAO,CAAEC,EAAU1E,IACbF,EAAI,EAAGA,EAAI6D,UAAUtD,OAAQP,IAClC2E,EAAKF,KAAMZ,UAAW7D,IAEvB,OAAO6E,EAAYC,MAAO,KAAMH,EACjC,CE7BA,IAAII,GAAiB9H,OAAOC,UACxBF,GAAQ+H,GAAe5H,SACvB6H,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA5F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CACP,CAAC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGKwH,GACa3G,EDqBlB,SAAyB4G,EAAKC,EAAMC,GACnC,IAAI1I,EACA2I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB1I,GAAMgB,KAAM0H,GAC3D,MAAM,IAAIhC,UAAWgB,EAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B5I,GAAMgB,KAAM4H,GACzE,MAAM,IAAIlC,UAAWgB,EAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAapH,KAAM0H,EAAKC,IACxBL,GAAatH,KAAM0H,EAAKC,IAGxBzI,EAAYwI,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW9H,MAGzB4H,EAAIM,UAAY9I,GAEhBwI,EAAKC,GAASC,EAAW9H,OAG3BgI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAIhH,MAAO,wHASlB,OANK+G,GAAUd,IACdA,GAAahH,KAAM0H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAalH,KAAM0H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAM7H,GAC7C8B,GAAgB8F,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxI,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDcUsI,CAAMzI,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCoBA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICnBA,IAAIE,GAAerI,GAAOsI,kBClB1B,SAASC,GAAW/I,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWoH,EDDXhJ,KCEagJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAW/I,GACnB,OACC+B,GAAU/B,IACViJ,GAAOjJ,EAET,CCLA,SAAS+I,GAAW/I,GACnB,OACC+B,GAAU/B,IACViJ,GAAOjJ,EAAMkJ,UAEf,CCGA,SAASH,GAAW/I,GACnB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCXA,SAASmJ,GAAsBnJ,GAC9B,OACC+I,GAAW/I,IACXA,GAAS,CAEX,CCLA,SAASmJ,GAAsBnJ,GAC9B,OACC+I,GAAW/I,IACXA,EAAMkJ,WAAa,CAErB,CCQA,SAASC,GAAsBnJ,GAC9B,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCtBA,SAASoJ,GAAUpJ,GAClB,MAA0B,iBAAVA,CACjB,CCmCA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICAAC,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICpDA,IAAIO,GAAUrG,OAAOzD,UAAU8J,QCQ/B,IAAIpK,GAAMa,IAmBV,SAASyJ,GAAUpJ,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAkJ,GAAQhJ,KAAMF,IACP,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDaUsI,CAAMzI,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAASoJ,GAAUpJ,GAClB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCsBA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,IChBA,IAAIU,GAA2B,iBC7B3B1I,QAA4C,IAA5BkC,OAAOzD,UAAUkK,OCArC,IAAIA,GAASzG,OAAOzD,UAAUkK,OCmC9B,IAAAnG,GATKoG,GCFL,SAAiBnH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIuH,EACAC,EACJ,GAAoB,IAAfrH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAuH,EAAM,GACNC,EAAMxH,EAGY,IAAP,EAAJwH,KACLD,GAAOpH,GAIK,IADbqH,KAAS,IAKTrH,GAAOA,EAER,OAAOoH,CACR,EC1DIE,GAAO7H,KAAK6H,KCWhB,SAASC,GAAMvH,EAAKwH,EAAKpH,GACxB,IAAIqH,EACJ,IAAMT,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUtD,OAAS,EAAI,CAE3B,IAAM2G,GADNS,EAAIrH,GAEH,MAAM,IAAIoD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAEpH,OACN,MAAM,IAAIqH,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAexH,EAAKwH,EAAKpH,GACxB,IAAIP,GAAM2H,EAAMxH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAIyH,GAAMzH,GACHG,EAAMkH,GAAQ9G,EAAKP,GAC3B,CDsBQkB,CAAMf,EAAKwH,EAAKC,EACxB,CEvBA,SAASE,GAAM3H,EAAKwH,EAAKpH,GACxB,IAAIqH,EACJ,IAAMT,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUtD,OAAS,EAAI,CAE3B,IAAM2G,GADNS,EAAIrH,GAEH,MAAM,IAAIoD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAEpH,OACN,MAAM,IAAIqH,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAexH,EAAKwH,EAAKpH,GACxB,IAAIP,GAAM2H,EAAMxH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAIyH,GAAMzH,GACHqH,GAAQ9G,EAAKP,GAAMG,EAC3B,CDsBQe,CAAMf,EAAKwH,EAAKC,EACxB,CE1BA,SAASP,GAAQlH,EAAKH,GACrB,IAAMmH,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBlH,GAC3B,MAAM,IAAI2D,UAAWgB,EAAQ,gFAAiF3E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAAS+H,GAAMhB,GAKd,IAJA,IACIiB,EADA7H,EAAM,GAIF4G,EAAI,GAIV5G,GAHD6H,EAAIjB,EAAI,MACRA,EAAIpH,EAAOqI,IAEJ,IAAM7H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC3CA,IAAI8H,GAAW,IACXC,GAAW,GCwEf,SAASC,GAAiBpB,GACzB,IAAIqB,EACA3G,EACAtB,EACAkI,EACArI,EACAuC,EACAtC,EASJ,GALCwB,EADIsF,EAAI,GAAO,EAAIA,IAAMrH,EAClB,IAEA,IAGHqH,IAAMlI,GAAQkI,IAAMrH,EAIxB,OAAO+B,GAFP4G,EAAMhB,GAAQ,IA3EQ,KA4EtBlH,EAAMkH,GAAQ,IA7EW,KAiF1B,GAAKN,GAAMA,EAIV,OAAOtF,GAFP4G,EAAMhB,GAAQ,IAlFQ,KAmFtBlH,EAAM,IAAMkH,GAAQ,IAAKiB,KAI1B,GAAW,IAANvB,EAIJ,OAAOtF,GAFP4G,EAAMhB,GAAQ,IAzFQ,KA0FtBlH,EAAMkH,GAAQ,IA3FW,KA2G1B,GAPA9E,GANAwE,ECnFD,SAAcA,GACb,OAAOnH,KAAKgC,IAAKmF,EAClB,CDiFKnF,CAAKmF,KAGT/G,EAAIL,EAAOoH,IAMX/G,EAAI+H,GAAM/H,GACVuC,EDlGD,SAAgBwE,GACf,IAAI5G,EACA6H,EACA/H,EACAyD,EAGJ,GADAvD,EAAM,GACK,IAAN4G,EACJ,OAAO5G,EAKR,IAHAuD,EAAIuE,GAGEhI,EAAI,EAAGA,EAAIgI,MAChBD,EAAQ,EAAJjB,IACM,GACTA,EAAIiB,EAAI,EACR7H,GAAO,IACFuD,IAAMuE,KACVvE,EAAIzD,KAGL8G,EAAIiB,EACJ7H,GAAO,OAGG,IAAN6H,GAAa/H,EAAEyD,EAAIwE,KAbEjI,KAkB3B,OAAOE,CACR,CCkEKoI,CAAOhG,GAGNvC,EAEJqI,EAAMrI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIsC,EAAE/B,OAAQP,IAC1B,GAAgB,MAAXsC,EAAGtC,GAAc,CACrBmI,EAAQnI,EAAI,EACZ,KACA,CAGFoI,GAAOD,CACP,CAuBD,OArBAjI,EAAMH,EAAIuC,EACL8F,EAAM,GAELA,IE9GqB,MFgHzBD,EAAQI,KAGTrI,EAAMA,EAAI6D,UAAWoE,IAGrBjI,EAAMA,EAAI6D,UAAW,GAUfvC,GANP4G,EAAMP,GADNO,EAAMN,GAAMM,EEzHe,KFdJ,EAwIa,OAGpClI,EAAMuH,GAAMvH,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IAgJ3B","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,81,82]} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index f7fa652..0000000 --- a/stats.html +++ /dev/null @@ -1,4842 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From 7b54e332cdb2bb5c8bc04090afd2a01a81c023fe Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 1 Sep 2024 10:01:31 +0000 Subject: [PATCH 128/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 66 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 794 ---- .github/workflows/publish.yml | 252 -- .github/workflows/test.yml | 99 - .github/workflows/test_bundles.yml | 186 - .github/workflows/test_coverage.yml | 133 - .github/workflows/test_install.yml | 85 - .gitignore | 190 - .npmignore | 229 - .npmrc | 31 - CHANGELOG.md | 222 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 --- README.md | 44 +- SECURITY.md | 5 - benchmark/benchmark.js | 52 - branches.md | 56 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 4842 +++++++++++++++++++++ test/dist/test.js | 33 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 84 - test/test.js | 162 - 51 files changed, 4863 insertions(+), 4504 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 SECURITY.md delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 60d743f..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 1c88e69..0000000 --- a/.gitattributes +++ /dev/null @@ -1,66 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/lib/node_modules/** -linguist-vendored -linguist-generated - -# Configure directories which should *not* be included in GitHub language statistics: -/deps/** linguist-vendored -/dist/** linguist-generated -/workshops/** linguist-vendored - -benchmark/** linguist-vendored -docs/* linguist-documentation -etc/** linguist-vendored -examples/** linguist-documentation -scripts/** linguist-vendored -test/** linguist-vendored -tools/** linguist-vendored - -# Configure files which should *not* be included in GitHub language statistics: -Makefile linguist-vendored -*.mk linguist-vendored -*.jl linguist-vendored -*.py linguist-vendored -*.R linguist-vendored - -# Configure files which should be included in GitHub language statistics: -docs/types/*.d.ts -linguist-documentation diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index 46fff16..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2024-09-01T04:16:37.142Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index e4f10fe..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index b5291db..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # v0.12.1 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 2984901..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index e313406..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 # v3.0.3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index f4575e9..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,794 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 -r sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA - uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 - with: - status: ${{ job.status }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index a8a9c60..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,33 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2023 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 main = require( './../../dist' ); - - -// TESTS // - -tape( 'main export is defined', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( main !== void 0, true, 'main export is defined' ); - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index fb9fc20..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index 7d4bc51..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 316e027..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index f370bba..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index 9cc0556..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - write( outfile, "\n" ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 5a123fa172a25b57410fff123d2a631b63b817d5 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Tue, 1 Oct 2024 05:59:00 +0000 Subject: [PATCH 129/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 3b7a9d2..a77479f 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.2.3", "@stdlib/string-left-pad": "^0.2.2", "@stdlib/string-repeat": "^0.2.2", - "@stdlib/string-right-pad": "^0.2.2" + "@stdlib/string-right-pad": "^0.2.2", + "@stdlib/error-tools-fmtprodmsg": "^0.2.2" }, "devDependencies": { "@stdlib/assert-is-string": "^0.2.2", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From f854b75956b2570c7f850848f9f1abeccb06ad40 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Tue, 1 Oct 2024 10:29:47 +0000 Subject: [PATCH 130/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 4842 ---------------------------------------------------- 4 files changed, 4925 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 84d9489..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( '@stdlib/constants-float32-pinf' ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( '@stdlib/constants-float32-ninf' ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 3d7dac2..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2024 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var l=Number.POSITIVE_INFINITY,s="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof s)return!1;try{e=new s([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===l}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,d="function"==typeof Uint32Array;var h="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof h)return!1;try{e=new h(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(d&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var V=Object.defineProperty;function j(r){return"number"==typeof r}function x(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=$.call(t,W,"$1e"),t=$.call(t,M,"e"),t=$.call(t,Z,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=$.call(t,U,"e+0$1"),t=$.call(t,N,"e-0$1"),r.alternate&&(t=$.call(t,C,"$1."),t=$.call(t,G,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===R.call(r.specifier)?R.call(t):P.call(t)}function X(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=q(a)?String(n.arg):Y(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=L(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=A(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=(s=n.arg,f=n.width,p=n.padRight,g=void 0,(g=f-s.length)<0?s:s=p?s+X(g):X(g)+s)),o+=n.arg||"",u+=1}return o}var H=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function J(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function K(r){var e,t,n,i;for(t=[],i=0,n=H.exec(r);n;)(e=r.slice(i,H.lastIndex-n[0].length)).length&&t.push(e),t.push(J(n)),i=H.lastIndex,n=H.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function Q(r){var e,t;if("string"!=typeof r)throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=[K(r)],t=1;tdr&&_(e=r)===e;var e}function vr(r){return cr(r)&&hr(r)}function yr(r){return pr(r)&&hr(r.valueOf())}function mr(r){return vr(r)||yr(r)}function wr(r){return vr(r)&&r>=0}function br(r){return yr(r)&&r.valueOf()>=0}function Er(r){return wr(r)||br(r)}function Sr(r){return"string"==typeof r}ur(mr,"isPrimitive",vr),ur(mr,"isObject",yr),ur(Er,"isPrimitive",wr),ur(Er,"isObject",br);var _r=String.prototype.valueOf;var Tr=e();function Vr(r){return"object"==typeof r&&(r instanceof String||(Tr?function(r){try{return _r.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function jr(r){return Sr(r)||Vr(r)}ur(jr,"isPrimitive",Sr),ur(jr,"isObject",Vr);var xr=9007199254740991,Ar=void 0!==String.prototype.repeat;var Fr=String.prototype.repeat;var kr=Ar?function(r,e){return Fr.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Or=Math.ceil;function Ir(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),r+kr(t,n))}(r,e,n)}function Pr(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),kr(t,n)+r)}(r,e,n)}function Rr(r,e){if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return kr(r,e)}function $r(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}var Ur=149,Nr=24;function Cr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=Rr("1",8))+(n=Rr("0",23));if(r!=r)return t+(i=Rr("1",8))+(n="1"+Rr("0",22));if(0===r)return t+(i=Rr("0",8))+(n=Rr("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=$r(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=Ur,n=0;n=1?(r=t-1,e+="1",i===Ur&&(i=n)):(r=t,e+="0"),!(1===t||n-i>Nr));n++);return e}(o),a)i=a.length-1;else{for(u=0;u\n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e' );\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Returns a boolean indicating whether a value is `NaN`.\n*\n* @private\n* @param {*} value - input value\n* @returns {boolean} boolean indicating whether a value is `NaN`\n*\n* @example\n* var bool = isnan( NaN );\n* // returns true\n*\n* @example\n* var bool = isnan( 4 );\n* // returns false\n*/\nfunction isnan( value ) { // explicitly define a function here instead of `@stdlib/math/base/assert/is-nan` in order to avoid circular dependencies\n\treturn ( value !== value );\n}\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\ttoken.arg = String( token.arg );\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ? String( token.arg ) : fromCharCode( num ); // eslint-disable-line max-len\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\targs = [ tokenize( str ) ];\n\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\targs.push( arguments[ i ] );\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","fromCharCode","isArray","Array","isnan","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","FLOAT64_MAX_SAFE_INTEGER","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","p","RangeError","lpad","div2","y","MAX_ITER","MAX_BITS","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CACnB,CAAC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAEd,CAAC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAEN,CAAC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CCpFA,IAAI8D,EAAMhC,KAAKgC,IACXjB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Bc,EAAUjB,OAAOzD,UAAU0E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcpB,GACtB,IAAIqB,EACAxE,EACAyE,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMzC,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7DyE,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAMyE,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAMyE,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,EAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEXxE,EAAMyE,EAAEE,cAAeH,IAEvBxE,EAAMyE,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAM+D,EAAQ5D,KAAMH,EAAKsE,EAAoB,OAC7CtE,EAAM+D,EAAQ5D,KAAMH,EAAKqE,EAAoB,KAC7CrE,EAAM+D,EAAQ5D,KAAMH,EAAKoE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAIlD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAM+D,EAAQ5D,KAAMH,EAAKgE,EAAmB,SAC5ChE,EAAM+D,EAAQ5D,KAAMH,EAAKiE,EAAmB,SACvCd,EAAMS,YACV5D,EAAM+D,EAAQ5D,KAAMH,EAAKkE,EAAgB,OACzClE,EAAM+D,EAAQ5D,KAAMH,EAAKmE,EAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS8E,EAAQ5C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CCLA,IAAI+E,EAAejC,OAAOiC,aACtBC,EAAUC,MAAMD,QAoBpB,SAASE,EAAOjF,GACf,OAASA,GAAUA,CACpB,CASA,SAASkF,EAAYhC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIoF,MAAQjC,EAAMiC,OAAS,GAC3BpF,EAAIqF,QAAUlC,EAAMkC,QACbrF,CACR,CAmBA,SAASsF,EAAmBC,GAC3B,IAAIC,EACAJ,EACAjC,EACAsC,EACAC,EACA1F,EACA2F,EACAxD,EACAyD,EDjDcvD,EAAKC,EAAOC,EAC1BE,ECkDJ,IAAMuC,EAASO,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFAvF,EAAM,GACN2F,EAAM,EACAxD,EAAI,EAAGA,EAAIoD,EAAO7C,OAAQP,IAE/B,GADAgB,EAAQoC,EAAQpD,GCxES,iBDyEVgB,EACdnD,GAAOmD,MACD,CAGN,GAFAqC,OAAgC,IAApBrC,EAAMM,YAClBN,EAAQgC,EAAYhC,IACRE,UACX,MAAM,IAAIwC,UAAW,oEAAqE1D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMkC,UACVM,EAAMxC,EAAMkC,SAEbD,EAAQjC,EAAMiC,MACRQ,EAAI,EAAGA,EAAIR,EAAM1C,OAAQkD,IAE9B,OADAH,EAAOL,EAAMvB,OAAQ+B,IAErB,IAAK,IACJzC,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM2C,UAAW,EACjB,MACD,IAAK,IACJ3C,EAAM2C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ5C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmBuE,GAGtC,GAAqB,MAAhBtC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAUyC,UAAWL,GAAO,IAC1CA,GAAO,EACFT,EAAO/B,EAAMb,OACjB,MAAM,IAAIuD,UAAW,wCAA0CF,EAAM,6BAA+BxC,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKkD,GACqB,MAApBrC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAUyC,UAAWL,GAAO,IAC9CA,GAAO,EACFT,EAAO/B,EAAMM,WACjB,MAAM,IAAIoC,UAAW,4CAA8CF,EAAM,6BAA+BxC,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClB+B,GAAY,EAEb,CAGF,OADArC,EAAMG,IAAM0C,UAAWL,GACdxC,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECmC,IACJrC,EAAM2C,UAAW,GAElB3C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM8C,SAAW,EAAgB9C,EAAMM,WAAa,EACpDN,EAAMG,IAAMR,OAAQK,EAAMG,KAC1B,MACD,IAAK,IAEJ,IAAM4B,EAAO/B,EAAMG,KAAQ,CAE1B,IADAoC,EAAMnC,SAAUJ,EAAMG,IAAK,KAChB,GAAKoC,EAAM,IACrB,MAAM,IAAIxE,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ4B,EAAOQ,GAAU5C,OAAQK,EAAMG,KAAQyB,EAAcW,EACnE,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLrC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,EAAcpB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAM8C,UAAY,GAAK9C,EAAMG,IAAIZ,OAASS,EAAM8C,WACpD9C,EAAMG,IAAMH,EAAMG,IAAI4C,UAAW,EAAG/C,EAAM8C,WAEtC9C,EAAM2C,SACV3C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,KDzKSjB,ECyKOc,EAAMG,IDzKRhB,ECyKaa,EAAMb,MDzKZC,ECyKmBY,EAAMO,SDxKnDjB,YAAMH,EAAQD,EAAIK,QACX,EACHL,EAERA,EAAM,EACLA,EAAMyC,EAAQrC,GACdqC,EAAQrC,GAAQJ,ICoKfrC,GAAOmD,EAAMG,KAAO,GACpBqC,GAAO,CACP,CAEF,OAAO3F,CACR,CE5MA,IAAImG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAIlD,EAAQ,CACXkC,QAAagB,EAAO,GAAQ9C,SAAU8C,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB5C,UAAa4C,EAAO,GACpBhD,UAAagD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjClD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASmD,EAAgBjE,GACxB,IAAIkE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ6C,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ6C,EAAOqB,KAAML,GAEPhB,CACR,CCtCA,SAASsB,EAAQxE,GAChB,IAAIyE,EACA3E,EAEJ,GCf0B,iBDeVE,EACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAGjG,IADAyE,EAAO,CAAEC,EAAU1E,IACbF,EAAI,EAAGA,EAAI6D,UAAUtD,OAAQP,IAClC2E,EAAKF,KAAMZ,UAAW7D,IAEvB,OAAO6E,EAAYC,MAAO,KAAMH,EACjC,CE7BA,IAAII,GAAiB9H,OAAOC,UACxBF,GAAQ+H,GAAe5H,SACvB6H,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA5F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CACP,CAAC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGKwH,GACa3G,EDqBlB,SAAyB4G,EAAKC,EAAMC,GACnC,IAAI1I,EACA2I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB1I,GAAMgB,KAAM0H,GAC3D,MAAM,IAAIhC,UAAWgB,EAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B5I,GAAMgB,KAAM4H,GACzE,MAAM,IAAIlC,UAAWgB,EAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAapH,KAAM0H,EAAKC,IACxBL,GAAatH,KAAM0H,EAAKC,IAGxBzI,EAAYwI,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW9H,MAGzB4H,EAAIM,UAAY9I,GAEhBwI,EAAKC,GAASC,EAAW9H,OAG3BgI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAIhH,MAAO,wHASlB,OANK+G,GAAUd,IACdA,GAAahH,KAAM0H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAalH,KAAM0H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAM7H,GAC7C8B,GAAgB8F,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxI,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDcUsI,CAAMzI,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCoBA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICnBA,IAAIE,GAAerI,GAAOsI,kBClB1B,SAASC,GAAW/I,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWoH,EDDXhJ,KCEagJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAW/I,GACnB,OACC+B,GAAU/B,IACViJ,GAAOjJ,EAET,CCLA,SAAS+I,GAAW/I,GACnB,OACC+B,GAAU/B,IACViJ,GAAOjJ,EAAMkJ,UAEf,CCGA,SAASH,GAAW/I,GACnB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCXA,SAASmJ,GAAsBnJ,GAC9B,OACC+I,GAAW/I,IACXA,GAAS,CAEX,CCLA,SAASmJ,GAAsBnJ,GAC9B,OACC+I,GAAW/I,IACXA,EAAMkJ,WAAa,CAErB,CCQA,SAASC,GAAsBnJ,GAC9B,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCtBA,SAASoJ,GAAUpJ,GAClB,MAA0B,iBAAVA,CACjB,CCmCA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICAAC,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICpDA,IAAIO,GAAUrG,OAAOzD,UAAU8J,QCQ/B,IAAIpK,GAAMa,IAmBV,SAASyJ,GAAUpJ,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAkJ,GAAQhJ,KAAMF,IACP,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDaUsI,CAAMzI,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAASoJ,GAAUpJ,GAClB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCsBA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,IChBA,IAAIU,GAA2B,iBC7B3B1I,QAA4C,IAA5BkC,OAAOzD,UAAUkK,OCArC,IAAIA,GAASzG,OAAOzD,UAAUkK,OCmC9B,IAAAnG,GATKoG,GCFL,SAAiBnH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIuH,EACAC,EACJ,GAAoB,IAAfrH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAuH,EAAM,GACNC,EAAMxH,EAGY,IAAP,EAAJwH,KACLD,GAAOpH,GAIK,IADbqH,KAAS,IAKTrH,GAAOA,EAER,OAAOoH,CACR,EC1DIE,GAAO7H,KAAK6H,KCWhB,SAASC,GAAMvH,EAAKwH,EAAKpH,GACxB,IAAIqH,EACJ,IAAMT,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUtD,OAAS,EAAI,CAE3B,IAAM2G,GADNS,EAAIrH,GAEH,MAAM,IAAIoD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAEpH,OACN,MAAM,IAAIqH,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAexH,EAAKwH,EAAKpH,GACxB,IAAIP,GAAM2H,EAAMxH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAIyH,GAAMzH,GACHG,EAAMkH,GAAQ9G,EAAKP,GAC3B,CDsBQkB,CAAMf,EAAKwH,EAAKC,EACxB,CEvBA,SAASE,GAAM3H,EAAKwH,EAAKpH,GACxB,IAAIqH,EACJ,IAAMT,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUtD,OAAS,EAAI,CAE3B,IAAM2G,GADNS,EAAIrH,GAEH,MAAM,IAAIoD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAEpH,OACN,MAAM,IAAIqH,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAexH,EAAKwH,EAAKpH,GACxB,IAAIP,GAAM2H,EAAMxH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAIyH,GAAMzH,GACHqH,GAAQ9G,EAAKP,GAAMG,EAC3B,CDsBQe,CAAMf,EAAKwH,EAAKC,EACxB,CE1BA,SAASP,GAAQlH,EAAKH,GACrB,IAAMmH,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBlH,GAC3B,MAAM,IAAI2D,UAAWgB,EAAQ,gFAAiF3E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAAS+H,GAAMhB,GAKd,IAJA,IACIiB,EADA7H,EAAM,GAIF4G,EAAI,GAIV5G,GAHD6H,EAAIjB,EAAI,MACRA,EAAIpH,EAAOqI,IAEJ,IAAM7H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC3CA,IAAI8H,GAAW,IACXC,GAAW,GCwEf,SAASC,GAAiBpB,GACzB,IAAIqB,EACA3G,EACAtB,EACAkI,EACArI,EACAuC,EACAtC,EASJ,GALCwB,EADIsF,EAAI,GAAO,EAAIA,IAAMrH,EAClB,IAEA,IAGHqH,IAAMlI,GAAQkI,IAAMrH,EAIxB,OAAO+B,GAFP4G,EAAMhB,GAAQ,IA3EQ,KA4EtBlH,EAAMkH,GAAQ,IA7EW,KAiF1B,GAAKN,GAAMA,EAIV,OAAOtF,GAFP4G,EAAMhB,GAAQ,IAlFQ,KAmFtBlH,EAAM,IAAMkH,GAAQ,IAAKiB,KAI1B,GAAW,IAANvB,EAIJ,OAAOtF,GAFP4G,EAAMhB,GAAQ,IAzFQ,KA0FtBlH,EAAMkH,GAAQ,IA3FW,KA2G1B,GAPA9E,GANAwE,ECnFD,SAAcA,GACb,OAAOnH,KAAKgC,IAAKmF,EAClB,CDiFKnF,CAAKmF,KAGT/G,EAAIL,EAAOoH,IAMX/G,EAAI+H,GAAM/H,GACVuC,EDlGD,SAAgBwE,GACf,IAAI5G,EACA6H,EACA/H,EACAyD,EAGJ,GADAvD,EAAM,GACK,IAAN4G,EACJ,OAAO5G,EAKR,IAHAuD,EAAIuE,GAGEhI,EAAI,EAAGA,EAAIgI,MAChBD,EAAQ,EAAJjB,IACM,GACTA,EAAIiB,EAAI,EACR7H,GAAO,IACFuD,IAAMuE,KACVvE,EAAIzD,KAGL8G,EAAIiB,EACJ7H,GAAO,OAGG,IAAN6H,GAAa/H,EAAEyD,EAAIwE,KAbEjI,KAkB3B,OAAOE,CACR,CCkEKoI,CAAOhG,GAGNvC,EAEJqI,EAAMrI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIsC,EAAE/B,OAAQP,IAC1B,GAAgB,MAAXsC,EAAGtC,GAAc,CACrBmI,EAAQnI,EAAI,EACZ,KACA,CAGFoI,GAAOD,CACP,CAuBD,OArBAjI,EAAMH,EAAIuC,EACL8F,EAAM,GAELA,IE9GqB,MFgHzBD,EAAQI,KAGTrI,EAAMA,EAAI6D,UAAWoE,IAGrBjI,EAAMA,EAAI6D,UAAW,GAUfvC,GANP4G,EAAMP,GADNO,EAAMN,GAAMM,EEzHe,KFdJ,EAwIa,OAGpClI,EAAMuH,GAAMvH,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IAgJ3B","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,81,82]} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index f7fa652..0000000 --- a/stats.html +++ /dev/null @@ -1,4842 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From e36164cb5e2cd21ba91834dc87fd9b57f562afc1 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Tue, 1 Oct 2024 10:30:06 +0000 Subject: [PATCH 131/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 66 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 794 ---- .github/workflows/publish.yml | 252 -- .github/workflows/test.yml | 99 - .github/workflows/test_bundles.yml | 186 - .github/workflows/test_coverage.yml | 133 - .github/workflows/test_install.yml | 85 - .gitignore | 190 - .npmignore | 229 - .npmrc | 31 - CHANGELOG.md | 222 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 --- README.md | 44 +- SECURITY.md | 5 - benchmark/benchmark.js | 52 - branches.md | 56 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 4842 +++++++++++++++++++++ test/dist/test.js | 33 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 84 - test/test.js | 162 - 51 files changed, 4863 insertions(+), 4504 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 SECURITY.md delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 60d743f..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 1c88e69..0000000 --- a/.gitattributes +++ /dev/null @@ -1,66 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/lib/node_modules/** -linguist-vendored -linguist-generated - -# Configure directories which should *not* be included in GitHub language statistics: -/deps/** linguist-vendored -/dist/** linguist-generated -/workshops/** linguist-vendored - -benchmark/** linguist-vendored -docs/* linguist-documentation -etc/** linguist-vendored -examples/** linguist-documentation -scripts/** linguist-vendored -test/** linguist-vendored -tools/** linguist-vendored - -# Configure files which should *not* be included in GitHub language statistics: -Makefile linguist-vendored -*.mk linguist-vendored -*.jl linguist-vendored -*.py linguist-vendored -*.R linguist-vendored - -# Configure files which should be included in GitHub language statistics: -docs/types/*.d.ts -linguist-documentation diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index e3b4d8a..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2024-10-01T04:27:45.273Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index e4f10fe..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index b5291db..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # v0.12.1 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 2984901..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index e313406..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 # v3.0.3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index f4575e9..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,794 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 -r sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA - uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 - with: - status: ${{ job.status }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index a8a9c60..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,33 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2023 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 main = require( './../../dist' ); - - -// TESTS // - -tape( 'main export is defined', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( main !== void 0, true, 'main export is defined' ); - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index fb9fc20..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index 7d4bc51..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 316e027..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index f370bba..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index 9cc0556..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - write( outfile, "\n" ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From 31066a2710b697b3bff1f0b8db535e4153c4843f Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Fri, 1 Nov 2024 05:54:40 +0000 Subject: [PATCH 132/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 3b7a9d2..a77479f 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.2.3", "@stdlib/string-left-pad": "^0.2.2", "@stdlib/string-repeat": "^0.2.2", - "@stdlib/string-right-pad": "^0.2.2" + "@stdlib/string-right-pad": "^0.2.2", + "@stdlib/error-tools-fmtprodmsg": "^0.2.2" }, "devDependencies": { "@stdlib/assert-is-string": "^0.2.2", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From bd4da1e14b4545ecd6ef4c94923db28f16d421f3 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Fri, 1 Nov 2024 09:45:42 +0000 Subject: [PATCH 133/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 4842 ---------------------------------------------------- 4 files changed, 4925 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 84d9489..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( '@stdlib/constants-float32-pinf' ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( '@stdlib/constants-float32-ninf' ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 3d7dac2..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2024 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var l=Number.POSITIVE_INFINITY,s="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof s)return!1;try{e=new s([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===l}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,d="function"==typeof Uint32Array;var h="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof h)return!1;try{e=new h(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(d&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var V=Object.defineProperty;function j(r){return"number"==typeof r}function x(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=$.call(t,W,"$1e"),t=$.call(t,M,"e"),t=$.call(t,Z,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=$.call(t,U,"e+0$1"),t=$.call(t,N,"e-0$1"),r.alternate&&(t=$.call(t,C,"$1."),t=$.call(t,G,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===R.call(r.specifier)?R.call(t):P.call(t)}function X(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=q(a)?String(n.arg):Y(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=L(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=A(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=(s=n.arg,f=n.width,p=n.padRight,g=void 0,(g=f-s.length)<0?s:s=p?s+X(g):X(g)+s)),o+=n.arg||"",u+=1}return o}var H=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function J(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function K(r){var e,t,n,i;for(t=[],i=0,n=H.exec(r);n;)(e=r.slice(i,H.lastIndex-n[0].length)).length&&t.push(e),t.push(J(n)),i=H.lastIndex,n=H.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function Q(r){var e,t;if("string"!=typeof r)throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=[K(r)],t=1;tdr&&_(e=r)===e;var e}function vr(r){return cr(r)&&hr(r)}function yr(r){return pr(r)&&hr(r.valueOf())}function mr(r){return vr(r)||yr(r)}function wr(r){return vr(r)&&r>=0}function br(r){return yr(r)&&r.valueOf()>=0}function Er(r){return wr(r)||br(r)}function Sr(r){return"string"==typeof r}ur(mr,"isPrimitive",vr),ur(mr,"isObject",yr),ur(Er,"isPrimitive",wr),ur(Er,"isObject",br);var _r=String.prototype.valueOf;var Tr=e();function Vr(r){return"object"==typeof r&&(r instanceof String||(Tr?function(r){try{return _r.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function jr(r){return Sr(r)||Vr(r)}ur(jr,"isPrimitive",Sr),ur(jr,"isObject",Vr);var xr=9007199254740991,Ar=void 0!==String.prototype.repeat;var Fr=String.prototype.repeat;var kr=Ar?function(r,e){return Fr.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Or=Math.ceil;function Ir(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),r+kr(t,n))}(r,e,n)}function Pr(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),kr(t,n)+r)}(r,e,n)}function Rr(r,e){if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return kr(r,e)}function $r(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}var Ur=149,Nr=24;function Cr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=Rr("1",8))+(n=Rr("0",23));if(r!=r)return t+(i=Rr("1",8))+(n="1"+Rr("0",22));if(0===r)return t+(i=Rr("0",8))+(n=Rr("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=$r(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=Ur,n=0;n=1?(r=t-1,e+="1",i===Ur&&(i=n)):(r=t,e+="0"),!(1===t||n-i>Nr));n++);return e}(o),a)i=a.length-1;else{for(u=0;u\n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e' );\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Returns a boolean indicating whether a value is `NaN`.\n*\n* @private\n* @param {*} value - input value\n* @returns {boolean} boolean indicating whether a value is `NaN`\n*\n* @example\n* var bool = isnan( NaN );\n* // returns true\n*\n* @example\n* var bool = isnan( 4 );\n* // returns false\n*/\nfunction isnan( value ) { // explicitly define a function here instead of `@stdlib/math/base/assert/is-nan` in order to avoid circular dependencies\n\treturn ( value !== value );\n}\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\ttoken.arg = String( token.arg );\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ? String( token.arg ) : fromCharCode( num ); // eslint-disable-line max-len\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\targs = [ tokenize( str ) ];\n\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\targs.push( arguments[ i ] );\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","fromCharCode","isArray","Array","isnan","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","FLOAT64_MAX_SAFE_INTEGER","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","p","RangeError","lpad","div2","y","MAX_ITER","MAX_BITS","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CACnB,CAAC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAEd,CAAC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAEN,CAAC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CCpFA,IAAI8D,EAAMhC,KAAKgC,IACXjB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Bc,EAAUjB,OAAOzD,UAAU0E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcpB,GACtB,IAAIqB,EACAxE,EACAyE,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMzC,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7DyE,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAMyE,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAMyE,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,EAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEXxE,EAAMyE,EAAEE,cAAeH,IAEvBxE,EAAMyE,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAM+D,EAAQ5D,KAAMH,EAAKsE,EAAoB,OAC7CtE,EAAM+D,EAAQ5D,KAAMH,EAAKqE,EAAoB,KAC7CrE,EAAM+D,EAAQ5D,KAAMH,EAAKoE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAIlD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAM+D,EAAQ5D,KAAMH,EAAKgE,EAAmB,SAC5ChE,EAAM+D,EAAQ5D,KAAMH,EAAKiE,EAAmB,SACvCd,EAAMS,YACV5D,EAAM+D,EAAQ5D,KAAMH,EAAKkE,EAAgB,OACzClE,EAAM+D,EAAQ5D,KAAMH,EAAKmE,EAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS8E,EAAQ5C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CCLA,IAAI+E,EAAejC,OAAOiC,aACtBC,EAAUC,MAAMD,QAoBpB,SAASE,EAAOjF,GACf,OAASA,GAAUA,CACpB,CASA,SAASkF,EAAYhC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIoF,MAAQjC,EAAMiC,OAAS,GAC3BpF,EAAIqF,QAAUlC,EAAMkC,QACbrF,CACR,CAmBA,SAASsF,EAAmBC,GAC3B,IAAIC,EACAJ,EACAjC,EACAsC,EACAC,EACA1F,EACA2F,EACAxD,EACAyD,EDjDcvD,EAAKC,EAAOC,EAC1BE,ECkDJ,IAAMuC,EAASO,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFAvF,EAAM,GACN2F,EAAM,EACAxD,EAAI,EAAGA,EAAIoD,EAAO7C,OAAQP,IAE/B,GADAgB,EAAQoC,EAAQpD,GCxES,iBDyEVgB,EACdnD,GAAOmD,MACD,CAGN,GAFAqC,OAAgC,IAApBrC,EAAMM,YAClBN,EAAQgC,EAAYhC,IACRE,UACX,MAAM,IAAIwC,UAAW,oEAAqE1D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMkC,UACVM,EAAMxC,EAAMkC,SAEbD,EAAQjC,EAAMiC,MACRQ,EAAI,EAAGA,EAAIR,EAAM1C,OAAQkD,IAE9B,OADAH,EAAOL,EAAMvB,OAAQ+B,IAErB,IAAK,IACJzC,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM2C,UAAW,EACjB,MACD,IAAK,IACJ3C,EAAM2C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ5C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmBuE,GAGtC,GAAqB,MAAhBtC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAUyC,UAAWL,GAAO,IAC1CA,GAAO,EACFT,EAAO/B,EAAMb,OACjB,MAAM,IAAIuD,UAAW,wCAA0CF,EAAM,6BAA+BxC,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKkD,GACqB,MAApBrC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAUyC,UAAWL,GAAO,IAC9CA,GAAO,EACFT,EAAO/B,EAAMM,WACjB,MAAM,IAAIoC,UAAW,4CAA8CF,EAAM,6BAA+BxC,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClB+B,GAAY,EAEb,CAGF,OADArC,EAAMG,IAAM0C,UAAWL,GACdxC,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECmC,IACJrC,EAAM2C,UAAW,GAElB3C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM8C,SAAW,EAAgB9C,EAAMM,WAAa,EACpDN,EAAMG,IAAMR,OAAQK,EAAMG,KAC1B,MACD,IAAK,IAEJ,IAAM4B,EAAO/B,EAAMG,KAAQ,CAE1B,IADAoC,EAAMnC,SAAUJ,EAAMG,IAAK,KAChB,GAAKoC,EAAM,IACrB,MAAM,IAAIxE,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ4B,EAAOQ,GAAU5C,OAAQK,EAAMG,KAAQyB,EAAcW,EACnE,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLrC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,EAAcpB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAM8C,UAAY,GAAK9C,EAAMG,IAAIZ,OAASS,EAAM8C,WACpD9C,EAAMG,IAAMH,EAAMG,IAAI4C,UAAW,EAAG/C,EAAM8C,WAEtC9C,EAAM2C,SACV3C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,KDzKSjB,ECyKOc,EAAMG,IDzKRhB,ECyKaa,EAAMb,MDzKZC,ECyKmBY,EAAMO,SDxKnDjB,YAAMH,EAAQD,EAAIK,QACX,EACHL,EAERA,EAAM,EACLA,EAAMyC,EAAQrC,GACdqC,EAAQrC,GAAQJ,ICoKfrC,GAAOmD,EAAMG,KAAO,GACpBqC,GAAO,CACP,CAEF,OAAO3F,CACR,CE5MA,IAAImG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAIlD,EAAQ,CACXkC,QAAagB,EAAO,GAAQ9C,SAAU8C,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB5C,UAAa4C,EAAO,GACpBhD,UAAagD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjClD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASmD,EAAgBjE,GACxB,IAAIkE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ6C,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ6C,EAAOqB,KAAML,GAEPhB,CACR,CCtCA,SAASsB,EAAQxE,GAChB,IAAIyE,EACA3E,EAEJ,GCf0B,iBDeVE,EACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAGjG,IADAyE,EAAO,CAAEC,EAAU1E,IACbF,EAAI,EAAGA,EAAI6D,UAAUtD,OAAQP,IAClC2E,EAAKF,KAAMZ,UAAW7D,IAEvB,OAAO6E,EAAYC,MAAO,KAAMH,EACjC,CE7BA,IAAII,GAAiB9H,OAAOC,UACxBF,GAAQ+H,GAAe5H,SACvB6H,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA5F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CACP,CAAC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGKwH,GACa3G,EDqBlB,SAAyB4G,EAAKC,EAAMC,GACnC,IAAI1I,EACA2I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB1I,GAAMgB,KAAM0H,GAC3D,MAAM,IAAIhC,UAAWgB,EAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B5I,GAAMgB,KAAM4H,GACzE,MAAM,IAAIlC,UAAWgB,EAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAapH,KAAM0H,EAAKC,IACxBL,GAAatH,KAAM0H,EAAKC,IAGxBzI,EAAYwI,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW9H,MAGzB4H,EAAIM,UAAY9I,GAEhBwI,EAAKC,GAASC,EAAW9H,OAG3BgI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAIhH,MAAO,wHASlB,OANK+G,GAAUd,IACdA,GAAahH,KAAM0H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAalH,KAAM0H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAM7H,GAC7C8B,GAAgB8F,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxI,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDcUsI,CAAMzI,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCoBA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICnBA,IAAIE,GAAerI,GAAOsI,kBClB1B,SAASC,GAAW/I,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWoH,EDDXhJ,KCEagJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAW/I,GACnB,OACC+B,GAAU/B,IACViJ,GAAOjJ,EAET,CCLA,SAAS+I,GAAW/I,GACnB,OACC+B,GAAU/B,IACViJ,GAAOjJ,EAAMkJ,UAEf,CCGA,SAASH,GAAW/I,GACnB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCXA,SAASmJ,GAAsBnJ,GAC9B,OACC+I,GAAW/I,IACXA,GAAS,CAEX,CCLA,SAASmJ,GAAsBnJ,GAC9B,OACC+I,GAAW/I,IACXA,EAAMkJ,WAAa,CAErB,CCQA,SAASC,GAAsBnJ,GAC9B,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCtBA,SAASoJ,GAAUpJ,GAClB,MAA0B,iBAAVA,CACjB,CCmCA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICAAC,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICpDA,IAAIO,GAAUrG,OAAOzD,UAAU8J,QCQ/B,IAAIpK,GAAMa,IAmBV,SAASyJ,GAAUpJ,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAkJ,GAAQhJ,KAAMF,IACP,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDaUsI,CAAMzI,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAASoJ,GAAUpJ,GAClB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCsBA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,IChBA,IAAIU,GAA2B,iBC7B3B1I,QAA4C,IAA5BkC,OAAOzD,UAAUkK,OCArC,IAAIA,GAASzG,OAAOzD,UAAUkK,OCmC9B,IAAAnG,GATKoG,GCFL,SAAiBnH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIuH,EACAC,EACJ,GAAoB,IAAfrH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAuH,EAAM,GACNC,EAAMxH,EAGY,IAAP,EAAJwH,KACLD,GAAOpH,GAIK,IADbqH,KAAS,IAKTrH,GAAOA,EAER,OAAOoH,CACR,EC1DIE,GAAO7H,KAAK6H,KCWhB,SAASC,GAAMvH,EAAKwH,EAAKpH,GACxB,IAAIqH,EACJ,IAAMT,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUtD,OAAS,EAAI,CAE3B,IAAM2G,GADNS,EAAIrH,GAEH,MAAM,IAAIoD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAEpH,OACN,MAAM,IAAIqH,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAexH,EAAKwH,EAAKpH,GACxB,IAAIP,GAAM2H,EAAMxH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAIyH,GAAMzH,GACHG,EAAMkH,GAAQ9G,EAAKP,GAC3B,CDsBQkB,CAAMf,EAAKwH,EAAKC,EACxB,CEvBA,SAASE,GAAM3H,EAAKwH,EAAKpH,GACxB,IAAIqH,EACJ,IAAMT,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUtD,OAAS,EAAI,CAE3B,IAAM2G,GADNS,EAAIrH,GAEH,MAAM,IAAIoD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAEpH,OACN,MAAM,IAAIqH,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAexH,EAAKwH,EAAKpH,GACxB,IAAIP,GAAM2H,EAAMxH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAIyH,GAAMzH,GACHqH,GAAQ9G,EAAKP,GAAMG,EAC3B,CDsBQe,CAAMf,EAAKwH,EAAKC,EACxB,CE1BA,SAASP,GAAQlH,EAAKH,GACrB,IAAMmH,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBlH,GAC3B,MAAM,IAAI2D,UAAWgB,EAAQ,gFAAiF3E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAAS+H,GAAMhB,GAKd,IAJA,IACIiB,EADA7H,EAAM,GAIF4G,EAAI,GAIV5G,GAHD6H,EAAIjB,EAAI,MACRA,EAAIpH,EAAOqI,IAEJ,IAAM7H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC3CA,IAAI8H,GAAW,IACXC,GAAW,GCwEf,SAASC,GAAiBpB,GACzB,IAAIqB,EACA3G,EACAtB,EACAkI,EACArI,EACAuC,EACAtC,EASJ,GALCwB,EADIsF,EAAI,GAAO,EAAIA,IAAMrH,EAClB,IAEA,IAGHqH,IAAMlI,GAAQkI,IAAMrH,EAIxB,OAAO+B,GAFP4G,EAAMhB,GAAQ,IA3EQ,KA4EtBlH,EAAMkH,GAAQ,IA7EW,KAiF1B,GAAKN,GAAMA,EAIV,OAAOtF,GAFP4G,EAAMhB,GAAQ,IAlFQ,KAmFtBlH,EAAM,IAAMkH,GAAQ,IAAKiB,KAI1B,GAAW,IAANvB,EAIJ,OAAOtF,GAFP4G,EAAMhB,GAAQ,IAzFQ,KA0FtBlH,EAAMkH,GAAQ,IA3FW,KA2G1B,GAPA9E,GANAwE,ECnFD,SAAcA,GACb,OAAOnH,KAAKgC,IAAKmF,EAClB,CDiFKnF,CAAKmF,KAGT/G,EAAIL,EAAOoH,IAMX/G,EAAI+H,GAAM/H,GACVuC,EDlGD,SAAgBwE,GACf,IAAI5G,EACA6H,EACA/H,EACAyD,EAGJ,GADAvD,EAAM,GACK,IAAN4G,EACJ,OAAO5G,EAKR,IAHAuD,EAAIuE,GAGEhI,EAAI,EAAGA,EAAIgI,MAChBD,EAAQ,EAAJjB,IACM,GACTA,EAAIiB,EAAI,EACR7H,GAAO,IACFuD,IAAMuE,KACVvE,EAAIzD,KAGL8G,EAAIiB,EACJ7H,GAAO,OAGG,IAAN6H,GAAa/H,EAAEyD,EAAIwE,KAbEjI,KAkB3B,OAAOE,CACR,CCkEKoI,CAAOhG,GAGNvC,EAEJqI,EAAMrI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIsC,EAAE/B,OAAQP,IAC1B,GAAgB,MAAXsC,EAAGtC,GAAc,CACrBmI,EAAQnI,EAAI,EACZ,KACA,CAGFoI,GAAOD,CACP,CAuBD,OArBAjI,EAAMH,EAAIuC,EACL8F,EAAM,GAELA,IE9GqB,MFgHzBD,EAAQI,KAGTrI,EAAMA,EAAI6D,UAAWoE,IAGrBjI,EAAMA,EAAI6D,UAAW,GAUfvC,GANP4G,EAAMP,GADNO,EAAMN,GAAMM,EEzHe,KFdJ,EAwIa,OAGpClI,EAAMuH,GAAMvH,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IAgJ3B","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,81,82]} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index f7fa652..0000000 --- a/stats.html +++ /dev/null @@ -1,4842 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From 4b1c9ca4860f9e47f4d98bdb8107fa435804cf5d Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Fri, 1 Nov 2024 09:45:58 +0000 Subject: [PATCH 134/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 66 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 794 ---- .github/workflows/publish.yml | 252 -- .github/workflows/test.yml | 99 - .github/workflows/test_bundles.yml | 186 - .github/workflows/test_coverage.yml | 133 - .github/workflows/test_install.yml | 85 - .gitignore | 190 - .npmignore | 229 - .npmrc | 31 - CHANGELOG.md | 222 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 --- README.md | 44 +- SECURITY.md | 5 - benchmark/benchmark.js | 52 - branches.md | 56 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 4842 +++++++++++++++++++++ test/dist/test.js | 33 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 84 - test/test.js | 162 - 51 files changed, 4863 insertions(+), 4504 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 SECURITY.md delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 60d743f..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 1c88e69..0000000 --- a/.gitattributes +++ /dev/null @@ -1,66 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/lib/node_modules/** -linguist-vendored -linguist-generated - -# Configure directories which should *not* be included in GitHub language statistics: -/deps/** linguist-vendored -/dist/** linguist-generated -/workshops/** linguist-vendored - -benchmark/** linguist-vendored -docs/* linguist-documentation -etc/** linguist-vendored -examples/** linguist-documentation -scripts/** linguist-vendored -test/** linguist-vendored -tools/** linguist-vendored - -# Configure files which should *not* be included in GitHub language statistics: -Makefile linguist-vendored -*.mk linguist-vendored -*.jl linguist-vendored -*.py linguist-vendored -*.R linguist-vendored - -# Configure files which should be included in GitHub language statistics: -docs/types/*.d.ts -linguist-documentation diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index 1f14e59..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2024-11-01T04:31:23.242Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index e4f10fe..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index b5291db..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # v0.12.1 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 2984901..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index e313406..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 # v3.0.3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index f4575e9..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,794 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 -r sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA - uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 - with: - status: ${{ job.status }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index a8a9c60..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,33 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2023 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 main = require( './../../dist' ); - - -// TESTS // - -tape( 'main export is defined', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( main !== void 0, true, 'main export is defined' ); - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index fb9fc20..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index 7d4bc51..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 316e027..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index f370bba..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index 9cc0556..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - write( outfile, "\n" ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From e955727f50353972c862a2361fbc386d3250e2ea Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 1 Dec 2024 06:08:15 +0000 Subject: [PATCH 135/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 3b7a9d2..a77479f 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.2.3", "@stdlib/string-left-pad": "^0.2.2", "@stdlib/string-repeat": "^0.2.2", - "@stdlib/string-right-pad": "^0.2.2" + "@stdlib/string-right-pad": "^0.2.2", + "@stdlib/error-tools-fmtprodmsg": "^0.2.2" }, "devDependencies": { "@stdlib/assert-is-string": "^0.2.2", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From 2edf43edf7e56efa2264b2d51572c7deff40fd5e Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 1 Dec 2024 10:09:17 +0000 Subject: [PATCH 136/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 4842 ---------------------------------------------------- 4 files changed, 4925 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 84d9489..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( '@stdlib/constants-float32-pinf' ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( '@stdlib/constants-float32-ninf' ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 3d7dac2..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2024 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var l=Number.POSITIVE_INFINITY,s="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof s)return!1;try{e=new s([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===l}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,d="function"==typeof Uint32Array;var h="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof h)return!1;try{e=new h(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(d&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var V=Object.defineProperty;function j(r){return"number"==typeof r}function x(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=$.call(t,W,"$1e"),t=$.call(t,M,"e"),t=$.call(t,Z,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=$.call(t,U,"e+0$1"),t=$.call(t,N,"e-0$1"),r.alternate&&(t=$.call(t,C,"$1."),t=$.call(t,G,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===R.call(r.specifier)?R.call(t):P.call(t)}function X(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=q(a)?String(n.arg):Y(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=L(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=A(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=(s=n.arg,f=n.width,p=n.padRight,g=void 0,(g=f-s.length)<0?s:s=p?s+X(g):X(g)+s)),o+=n.arg||"",u+=1}return o}var H=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function J(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function K(r){var e,t,n,i;for(t=[],i=0,n=H.exec(r);n;)(e=r.slice(i,H.lastIndex-n[0].length)).length&&t.push(e),t.push(J(n)),i=H.lastIndex,n=H.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function Q(r){var e,t;if("string"!=typeof r)throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=[K(r)],t=1;tdr&&_(e=r)===e;var e}function vr(r){return cr(r)&&hr(r)}function yr(r){return pr(r)&&hr(r.valueOf())}function mr(r){return vr(r)||yr(r)}function wr(r){return vr(r)&&r>=0}function br(r){return yr(r)&&r.valueOf()>=0}function Er(r){return wr(r)||br(r)}function Sr(r){return"string"==typeof r}ur(mr,"isPrimitive",vr),ur(mr,"isObject",yr),ur(Er,"isPrimitive",wr),ur(Er,"isObject",br);var _r=String.prototype.valueOf;var Tr=e();function Vr(r){return"object"==typeof r&&(r instanceof String||(Tr?function(r){try{return _r.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function jr(r){return Sr(r)||Vr(r)}ur(jr,"isPrimitive",Sr),ur(jr,"isObject",Vr);var xr=9007199254740991,Ar=void 0!==String.prototype.repeat;var Fr=String.prototype.repeat;var kr=Ar?function(r,e){return Fr.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Or=Math.ceil;function Ir(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),r+kr(t,n))}(r,e,n)}function Pr(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),kr(t,n)+r)}(r,e,n)}function Rr(r,e){if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return kr(r,e)}function $r(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}var Ur=149,Nr=24;function Cr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=Rr("1",8))+(n=Rr("0",23));if(r!=r)return t+(i=Rr("1",8))+(n="1"+Rr("0",22));if(0===r)return t+(i=Rr("0",8))+(n=Rr("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=$r(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=Ur,n=0;n=1?(r=t-1,e+="1",i===Ur&&(i=n)):(r=t,e+="0"),!(1===t||n-i>Nr));n++);return e}(o),a)i=a.length-1;else{for(u=0;u\n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e' );\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Returns a boolean indicating whether a value is `NaN`.\n*\n* @private\n* @param {*} value - input value\n* @returns {boolean} boolean indicating whether a value is `NaN`\n*\n* @example\n* var bool = isnan( NaN );\n* // returns true\n*\n* @example\n* var bool = isnan( 4 );\n* // returns false\n*/\nfunction isnan( value ) { // explicitly define a function here instead of `@stdlib/math/base/assert/is-nan` in order to avoid circular dependencies\n\treturn ( value !== value );\n}\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\ttoken.arg = String( token.arg );\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ? String( token.arg ) : fromCharCode( num ); // eslint-disable-line max-len\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\targs = [ tokenize( str ) ];\n\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\targs.push( arguments[ i ] );\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","fromCharCode","isArray","Array","isnan","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","FLOAT64_MAX_SAFE_INTEGER","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","p","RangeError","lpad","div2","y","MAX_ITER","MAX_BITS","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CACnB,CAAC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAEd,CAAC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAEN,CAAC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CCpFA,IAAI8D,EAAMhC,KAAKgC,IACXjB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Bc,EAAUjB,OAAOzD,UAAU0E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcpB,GACtB,IAAIqB,EACAxE,EACAyE,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMzC,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7DyE,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAMyE,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAMyE,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,EAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEXxE,EAAMyE,EAAEE,cAAeH,IAEvBxE,EAAMyE,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAM+D,EAAQ5D,KAAMH,EAAKsE,EAAoB,OAC7CtE,EAAM+D,EAAQ5D,KAAMH,EAAKqE,EAAoB,KAC7CrE,EAAM+D,EAAQ5D,KAAMH,EAAKoE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAIlD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAM+D,EAAQ5D,KAAMH,EAAKgE,EAAmB,SAC5ChE,EAAM+D,EAAQ5D,KAAMH,EAAKiE,EAAmB,SACvCd,EAAMS,YACV5D,EAAM+D,EAAQ5D,KAAMH,EAAKkE,EAAgB,OACzClE,EAAM+D,EAAQ5D,KAAMH,EAAKmE,EAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS8E,EAAQ5C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CCLA,IAAI+E,EAAejC,OAAOiC,aACtBC,EAAUC,MAAMD,QAoBpB,SAASE,EAAOjF,GACf,OAASA,GAAUA,CACpB,CASA,SAASkF,EAAYhC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIoF,MAAQjC,EAAMiC,OAAS,GAC3BpF,EAAIqF,QAAUlC,EAAMkC,QACbrF,CACR,CAmBA,SAASsF,EAAmBC,GAC3B,IAAIC,EACAJ,EACAjC,EACAsC,EACAC,EACA1F,EACA2F,EACAxD,EACAyD,EDjDcvD,EAAKC,EAAOC,EAC1BE,ECkDJ,IAAMuC,EAASO,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFAvF,EAAM,GACN2F,EAAM,EACAxD,EAAI,EAAGA,EAAIoD,EAAO7C,OAAQP,IAE/B,GADAgB,EAAQoC,EAAQpD,GCxES,iBDyEVgB,EACdnD,GAAOmD,MACD,CAGN,GAFAqC,OAAgC,IAApBrC,EAAMM,YAClBN,EAAQgC,EAAYhC,IACRE,UACX,MAAM,IAAIwC,UAAW,oEAAqE1D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMkC,UACVM,EAAMxC,EAAMkC,SAEbD,EAAQjC,EAAMiC,MACRQ,EAAI,EAAGA,EAAIR,EAAM1C,OAAQkD,IAE9B,OADAH,EAAOL,EAAMvB,OAAQ+B,IAErB,IAAK,IACJzC,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM2C,UAAW,EACjB,MACD,IAAK,IACJ3C,EAAM2C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ5C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmBuE,GAGtC,GAAqB,MAAhBtC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAUyC,UAAWL,GAAO,IAC1CA,GAAO,EACFT,EAAO/B,EAAMb,OACjB,MAAM,IAAIuD,UAAW,wCAA0CF,EAAM,6BAA+BxC,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKkD,GACqB,MAApBrC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAUyC,UAAWL,GAAO,IAC9CA,GAAO,EACFT,EAAO/B,EAAMM,WACjB,MAAM,IAAIoC,UAAW,4CAA8CF,EAAM,6BAA+BxC,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClB+B,GAAY,EAEb,CAGF,OADArC,EAAMG,IAAM0C,UAAWL,GACdxC,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECmC,IACJrC,EAAM2C,UAAW,GAElB3C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM8C,SAAW,EAAgB9C,EAAMM,WAAa,EACpDN,EAAMG,IAAMR,OAAQK,EAAMG,KAC1B,MACD,IAAK,IAEJ,IAAM4B,EAAO/B,EAAMG,KAAQ,CAE1B,IADAoC,EAAMnC,SAAUJ,EAAMG,IAAK,KAChB,GAAKoC,EAAM,IACrB,MAAM,IAAIxE,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ4B,EAAOQ,GAAU5C,OAAQK,EAAMG,KAAQyB,EAAcW,EACnE,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLrC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,EAAcpB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAM8C,UAAY,GAAK9C,EAAMG,IAAIZ,OAASS,EAAM8C,WACpD9C,EAAMG,IAAMH,EAAMG,IAAI4C,UAAW,EAAG/C,EAAM8C,WAEtC9C,EAAM2C,SACV3C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,KDzKSjB,ECyKOc,EAAMG,IDzKRhB,ECyKaa,EAAMb,MDzKZC,ECyKmBY,EAAMO,SDxKnDjB,YAAMH,EAAQD,EAAIK,QACX,EACHL,EAERA,EAAM,EACLA,EAAMyC,EAAQrC,GACdqC,EAAQrC,GAAQJ,ICoKfrC,GAAOmD,EAAMG,KAAO,GACpBqC,GAAO,CACP,CAEF,OAAO3F,CACR,CE5MA,IAAImG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAIlD,EAAQ,CACXkC,QAAagB,EAAO,GAAQ9C,SAAU8C,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB5C,UAAa4C,EAAO,GACpBhD,UAAagD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjClD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASmD,EAAgBjE,GACxB,IAAIkE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ6C,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ6C,EAAOqB,KAAML,GAEPhB,CACR,CCtCA,SAASsB,EAAQxE,GAChB,IAAIyE,EACA3E,EAEJ,GCf0B,iBDeVE,EACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAGjG,IADAyE,EAAO,CAAEC,EAAU1E,IACbF,EAAI,EAAGA,EAAI6D,UAAUtD,OAAQP,IAClC2E,EAAKF,KAAMZ,UAAW7D,IAEvB,OAAO6E,EAAYC,MAAO,KAAMH,EACjC,CE7BA,IAAII,GAAiB9H,OAAOC,UACxBF,GAAQ+H,GAAe5H,SACvB6H,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA5F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CACP,CAAC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGKwH,GACa3G,EDqBlB,SAAyB4G,EAAKC,EAAMC,GACnC,IAAI1I,EACA2I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB1I,GAAMgB,KAAM0H,GAC3D,MAAM,IAAIhC,UAAWgB,EAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B5I,GAAMgB,KAAM4H,GACzE,MAAM,IAAIlC,UAAWgB,EAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAapH,KAAM0H,EAAKC,IACxBL,GAAatH,KAAM0H,EAAKC,IAGxBzI,EAAYwI,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW9H,MAGzB4H,EAAIM,UAAY9I,GAEhBwI,EAAKC,GAASC,EAAW9H,OAG3BgI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAIhH,MAAO,wHASlB,OANK+G,GAAUd,IACdA,GAAahH,KAAM0H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAalH,KAAM0H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAM7H,GAC7C8B,GAAgB8F,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxI,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDcUsI,CAAMzI,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCoBA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICnBA,IAAIE,GAAerI,GAAOsI,kBClB1B,SAASC,GAAW/I,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWoH,EDDXhJ,KCEagJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAW/I,GACnB,OACC+B,GAAU/B,IACViJ,GAAOjJ,EAET,CCLA,SAAS+I,GAAW/I,GACnB,OACC+B,GAAU/B,IACViJ,GAAOjJ,EAAMkJ,UAEf,CCGA,SAASH,GAAW/I,GACnB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCXA,SAASmJ,GAAsBnJ,GAC9B,OACC+I,GAAW/I,IACXA,GAAS,CAEX,CCLA,SAASmJ,GAAsBnJ,GAC9B,OACC+I,GAAW/I,IACXA,EAAMkJ,WAAa,CAErB,CCQA,SAASC,GAAsBnJ,GAC9B,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCtBA,SAASoJ,GAAUpJ,GAClB,MAA0B,iBAAVA,CACjB,CCmCA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICAAC,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICpDA,IAAIO,GAAUrG,OAAOzD,UAAU8J,QCQ/B,IAAIpK,GAAMa,IAmBV,SAASyJ,GAAUpJ,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAkJ,GAAQhJ,KAAMF,IACP,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDaUsI,CAAMzI,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAASoJ,GAAUpJ,GAClB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCsBA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,IChBA,IAAIU,GAA2B,iBC7B3B1I,QAA4C,IAA5BkC,OAAOzD,UAAUkK,OCArC,IAAIA,GAASzG,OAAOzD,UAAUkK,OCmC9B,IAAAnG,GATKoG,GCFL,SAAiBnH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIuH,EACAC,EACJ,GAAoB,IAAfrH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAuH,EAAM,GACNC,EAAMxH,EAGY,IAAP,EAAJwH,KACLD,GAAOpH,GAIK,IADbqH,KAAS,IAKTrH,GAAOA,EAER,OAAOoH,CACR,EC1DIE,GAAO7H,KAAK6H,KCWhB,SAASC,GAAMvH,EAAKwH,EAAKpH,GACxB,IAAIqH,EACJ,IAAMT,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUtD,OAAS,EAAI,CAE3B,IAAM2G,GADNS,EAAIrH,GAEH,MAAM,IAAIoD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAEpH,OACN,MAAM,IAAIqH,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAexH,EAAKwH,EAAKpH,GACxB,IAAIP,GAAM2H,EAAMxH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAIyH,GAAMzH,GACHG,EAAMkH,GAAQ9G,EAAKP,GAC3B,CDsBQkB,CAAMf,EAAKwH,EAAKC,EACxB,CEvBA,SAASE,GAAM3H,EAAKwH,EAAKpH,GACxB,IAAIqH,EACJ,IAAMT,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUtD,OAAS,EAAI,CAE3B,IAAM2G,GADNS,EAAIrH,GAEH,MAAM,IAAIoD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAEpH,OACN,MAAM,IAAIqH,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAexH,EAAKwH,EAAKpH,GACxB,IAAIP,GAAM2H,EAAMxH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAIyH,GAAMzH,GACHqH,GAAQ9G,EAAKP,GAAMG,EAC3B,CDsBQe,CAAMf,EAAKwH,EAAKC,EACxB,CE1BA,SAASP,GAAQlH,EAAKH,GACrB,IAAMmH,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBlH,GAC3B,MAAM,IAAI2D,UAAWgB,EAAQ,gFAAiF3E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAAS+H,GAAMhB,GAKd,IAJA,IACIiB,EADA7H,EAAM,GAIF4G,EAAI,GAIV5G,GAHD6H,EAAIjB,EAAI,MACRA,EAAIpH,EAAOqI,IAEJ,IAAM7H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC3CA,IAAI8H,GAAW,IACXC,GAAW,GCwEf,SAASC,GAAiBpB,GACzB,IAAIqB,EACA3G,EACAtB,EACAkI,EACArI,EACAuC,EACAtC,EASJ,GALCwB,EADIsF,EAAI,GAAO,EAAIA,IAAMrH,EAClB,IAEA,IAGHqH,IAAMlI,GAAQkI,IAAMrH,EAIxB,OAAO+B,GAFP4G,EAAMhB,GAAQ,IA3EQ,KA4EtBlH,EAAMkH,GAAQ,IA7EW,KAiF1B,GAAKN,GAAMA,EAIV,OAAOtF,GAFP4G,EAAMhB,GAAQ,IAlFQ,KAmFtBlH,EAAM,IAAMkH,GAAQ,IAAKiB,KAI1B,GAAW,IAANvB,EAIJ,OAAOtF,GAFP4G,EAAMhB,GAAQ,IAzFQ,KA0FtBlH,EAAMkH,GAAQ,IA3FW,KA2G1B,GAPA9E,GANAwE,ECnFD,SAAcA,GACb,OAAOnH,KAAKgC,IAAKmF,EAClB,CDiFKnF,CAAKmF,KAGT/G,EAAIL,EAAOoH,IAMX/G,EAAI+H,GAAM/H,GACVuC,EDlGD,SAAgBwE,GACf,IAAI5G,EACA6H,EACA/H,EACAyD,EAGJ,GADAvD,EAAM,GACK,IAAN4G,EACJ,OAAO5G,EAKR,IAHAuD,EAAIuE,GAGEhI,EAAI,EAAGA,EAAIgI,MAChBD,EAAQ,EAAJjB,IACM,GACTA,EAAIiB,EAAI,EACR7H,GAAO,IACFuD,IAAMuE,KACVvE,EAAIzD,KAGL8G,EAAIiB,EACJ7H,GAAO,OAGG,IAAN6H,GAAa/H,EAAEyD,EAAIwE,KAbEjI,KAkB3B,OAAOE,CACR,CCkEKoI,CAAOhG,GAGNvC,EAEJqI,EAAMrI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIsC,EAAE/B,OAAQP,IAC1B,GAAgB,MAAXsC,EAAGtC,GAAc,CACrBmI,EAAQnI,EAAI,EACZ,KACA,CAGFoI,GAAOD,CACP,CAuBD,OArBAjI,EAAMH,EAAIuC,EACL8F,EAAM,GAELA,IE9GqB,MFgHzBD,EAAQI,KAGTrI,EAAMA,EAAI6D,UAAWoE,IAGrBjI,EAAMA,EAAI6D,UAAW,GAUfvC,GANP4G,EAAMP,GADNO,EAAMN,GAAMM,EEzHe,KFdJ,EAwIa,OAGpClI,EAAMuH,GAAMvH,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IAgJ3B","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,81,82]} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index f7fa652..0000000 --- a/stats.html +++ /dev/null @@ -1,4842 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From b4649c6b757d762cdbf17b5c386ad4e344abadbb Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sun, 1 Dec 2024 10:09:37 +0000 Subject: [PATCH 137/146] Auto-generated commit --- .editorconfig | 181 - .eslintrc.js | 1 - .gitattributes | 66 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 794 --- .github/workflows/publish.yml | 252 - .github/workflows/test.yml | 99 - .github/workflows/test_bundles.yml | 186 - .github/workflows/test_coverage.yml | 133 - .github/workflows/test_install.yml | 85 - .github/workflows/test_published_package.yml | 105 - .gitignore | 190 - .npmignore | 229 - .npmrc | 31 - CHANGELOG.md | 222 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 44 +- SECURITY.md | 5 - benchmark/benchmark.js | 52 - branches.md | 56 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 4842 ++++++++++++++++++ test/dist/test.js | 33 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 84 - test/test.js | 162 - 52 files changed, 4863 insertions(+), 4609 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .github/workflows/test_published_package.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 SECURITY.md delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 60d743f..0000000 --- a/.editorconfig +++ /dev/null @@ -1,181 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 -insert_final_newline = false - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = false - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 1c88e69..0000000 --- a/.gitattributes +++ /dev/null @@ -1,66 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/lib/node_modules/** -linguist-vendored -linguist-generated - -# Configure directories which should *not* be included in GitHub language statistics: -/deps/** linguist-vendored -/dist/** linguist-generated -/workshops/** linguist-vendored - -benchmark/** linguist-vendored -docs/* linguist-documentation -etc/** linguist-vendored -examples/** linguist-documentation -scripts/** linguist-vendored -test/** linguist-vendored -tools/** linguist-vendored - -# Configure files which should *not* be included in GitHub language statistics: -Makefile linguist-vendored -*.mk linguist-vendored -*.jl linguist-vendored -*.py linguist-vendored -*.R linguist-vendored - -# Configure files which should be included in GitHub language statistics: -docs/types/*.d.ts -linguist-documentation diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index 72ffc4a..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2024-12-01T04:36:55.984Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e01c505..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index e4f10fe..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index b5291db..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # v0.12.1 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 2984901..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index e313406..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 # v3.0.3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index f4575e9..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,794 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 -r sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA - uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 - with: - status: ${{ job.status }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index a8a9c60..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,33 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2023 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 main = require( './../../dist' ); - - -// TESTS // - -tape( 'main export is defined', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( main !== void 0, true, 'main export is defined' ); - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index fb9fc20..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index 7d4bc51..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 316e027..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index f370bba..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index 9cc0556..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - write( outfile, "\n" ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From b580612e986a13ec39c5eb95f041bf9fb226e094 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 7 Apr 2025 00:39:30 +0000 Subject: [PATCH 138/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 3b7a9d2..a77479f 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.2.3", "@stdlib/string-left-pad": "^0.2.2", "@stdlib/string-repeat": "^0.2.2", - "@stdlib/string-right-pad": "^0.2.2" + "@stdlib/string-right-pad": "^0.2.2", + "@stdlib/error-tools-fmtprodmsg": "^0.2.2" }, "devDependencies": { "@stdlib/assert-is-string": "^0.2.2", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From eafc43f36ffff397eb61ab6eec1221164a8a5b82 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 7 Apr 2025 00:51:14 +0000 Subject: [PATCH 139/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 4842 ---------------------------------------------------- 4 files changed, 4925 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 84d9489..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( '@stdlib/constants-float32-pinf' ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( '@stdlib/constants-float32-ninf' ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index 3d7dac2..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2024 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var l=Number.POSITIVE_INFINITY,s="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof s)return!1;try{e=new s([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===l}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,d="function"==typeof Uint32Array;var h="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof h)return!1;try{e=new h(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(d&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var V=Object.defineProperty;function j(r){return"number"==typeof r}function x(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=$.call(t,W,"$1e"),t=$.call(t,M,"e"),t=$.call(t,Z,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=$.call(t,U,"e+0$1"),t=$.call(t,N,"e-0$1"),r.alternate&&(t=$.call(t,C,"$1."),t=$.call(t,G,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===R.call(r.specifier)?R.call(t):P.call(t)}function X(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=q(a)?String(n.arg):Y(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=L(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=A(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=(s=n.arg,f=n.width,p=n.padRight,g=void 0,(g=f-s.length)<0?s:s=p?s+X(g):X(g)+s)),o+=n.arg||"",u+=1}return o}var H=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function J(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function K(r){var e,t,n,i;for(t=[],i=0,n=H.exec(r);n;)(e=r.slice(i,H.lastIndex-n[0].length)).length&&t.push(e),t.push(J(n)),i=H.lastIndex,n=H.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function Q(r){var e,t;if("string"!=typeof r)throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=[K(r)],t=1;tdr&&_(e=r)===e;var e}function vr(r){return cr(r)&&hr(r)}function yr(r){return pr(r)&&hr(r.valueOf())}function mr(r){return vr(r)||yr(r)}function wr(r){return vr(r)&&r>=0}function br(r){return yr(r)&&r.valueOf()>=0}function Er(r){return wr(r)||br(r)}function Sr(r){return"string"==typeof r}ur(mr,"isPrimitive",vr),ur(mr,"isObject",yr),ur(Er,"isPrimitive",wr),ur(Er,"isObject",br);var _r=String.prototype.valueOf;var Tr=e();function Vr(r){return"object"==typeof r&&(r instanceof String||(Tr?function(r){try{return _r.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function jr(r){return Sr(r)||Vr(r)}ur(jr,"isPrimitive",Sr),ur(jr,"isObject",Vr);var xr=9007199254740991,Ar=void 0!==String.prototype.repeat;var Fr=String.prototype.repeat;var kr=Ar?function(r,e){return Fr.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Or=Math.ceil;function Ir(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),r+kr(t,n))}(r,e,n)}function Pr(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),kr(t,n)+r)}(r,e,n)}function Rr(r,e){if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return kr(r,e)}function $r(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}var Ur=149,Nr=24;function Cr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=Rr("1",8))+(n=Rr("0",23));if(r!=r)return t+(i=Rr("1",8))+(n="1"+Rr("0",22));if(0===r)return t+(i=Rr("0",8))+(n=Rr("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=$r(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=Ur,n=0;n=1?(r=t-1,e+="1",i===Ur&&(i=n)):(r=t,e+="0"),!(1===t||n-i>Nr));n++);return e}(o),a)i=a.length-1;else{for(u=0;u\n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e' );\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Returns a boolean indicating whether a value is `NaN`.\n*\n* @private\n* @param {*} value - input value\n* @returns {boolean} boolean indicating whether a value is `NaN`\n*\n* @example\n* var bool = isnan( NaN );\n* // returns true\n*\n* @example\n* var bool = isnan( 4 );\n* // returns false\n*/\nfunction isnan( value ) { // explicitly define a function here instead of `@stdlib/math/base/assert/is-nan` in order to avoid circular dependencies\n\treturn ( value !== value );\n}\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\ttoken.arg = String( token.arg );\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ? String( token.arg ) : fromCharCode( num ); // eslint-disable-line max-len\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\targs = [ tokenize( str ) ];\n\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\targs.push( arguments[ i ] );\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","fromCharCode","isArray","Array","isnan","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","FLOAT64_MAX_SAFE_INTEGER","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","p","RangeError","lpad","div2","y","MAX_ITER","MAX_BITS","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CACnB,CAAC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAEd,CAAC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAEN,CAAC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CCpFA,IAAI8D,EAAMhC,KAAKgC,IACXjB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Bc,EAAUjB,OAAOzD,UAAU0E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcpB,GACtB,IAAIqB,EACAxE,EACAyE,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMzC,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7DyE,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAMyE,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAMyE,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,EAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEXxE,EAAMyE,EAAEE,cAAeH,IAEvBxE,EAAMyE,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAM+D,EAAQ5D,KAAMH,EAAKsE,EAAoB,OAC7CtE,EAAM+D,EAAQ5D,KAAMH,EAAKqE,EAAoB,KAC7CrE,EAAM+D,EAAQ5D,KAAMH,EAAKoE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAIlD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAM+D,EAAQ5D,KAAMH,EAAKgE,EAAmB,SAC5ChE,EAAM+D,EAAQ5D,KAAMH,EAAKiE,EAAmB,SACvCd,EAAMS,YACV5D,EAAM+D,EAAQ5D,KAAMH,EAAKkE,EAAgB,OACzClE,EAAM+D,EAAQ5D,KAAMH,EAAKmE,EAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS8E,EAAQ5C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CCLA,IAAI+E,EAAejC,OAAOiC,aACtBC,EAAUC,MAAMD,QAoBpB,SAASE,EAAOjF,GACf,OAASA,GAAUA,CACpB,CASA,SAASkF,EAAYhC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIoF,MAAQjC,EAAMiC,OAAS,GAC3BpF,EAAIqF,QAAUlC,EAAMkC,QACbrF,CACR,CAmBA,SAASsF,EAAmBC,GAC3B,IAAIC,EACAJ,EACAjC,EACAsC,EACAC,EACA1F,EACA2F,EACAxD,EACAyD,EDjDcvD,EAAKC,EAAOC,EAC1BE,ECkDJ,IAAMuC,EAASO,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFAvF,EAAM,GACN2F,EAAM,EACAxD,EAAI,EAAGA,EAAIoD,EAAO7C,OAAQP,IAE/B,GADAgB,EAAQoC,EAAQpD,GCxES,iBDyEVgB,EACdnD,GAAOmD,MACD,CAGN,GAFAqC,OAAgC,IAApBrC,EAAMM,YAClBN,EAAQgC,EAAYhC,IACRE,UACX,MAAM,IAAIwC,UAAW,oEAAqE1D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMkC,UACVM,EAAMxC,EAAMkC,SAEbD,EAAQjC,EAAMiC,MACRQ,EAAI,EAAGA,EAAIR,EAAM1C,OAAQkD,IAE9B,OADAH,EAAOL,EAAMvB,OAAQ+B,IAErB,IAAK,IACJzC,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM2C,UAAW,EACjB,MACD,IAAK,IACJ3C,EAAM2C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ5C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmBuE,GAGtC,GAAqB,MAAhBtC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAUyC,UAAWL,GAAO,IAC1CA,GAAO,EACFT,EAAO/B,EAAMb,OACjB,MAAM,IAAIuD,UAAW,wCAA0CF,EAAM,6BAA+BxC,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKkD,GACqB,MAApBrC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAUyC,UAAWL,GAAO,IAC9CA,GAAO,EACFT,EAAO/B,EAAMM,WACjB,MAAM,IAAIoC,UAAW,4CAA8CF,EAAM,6BAA+BxC,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClB+B,GAAY,EAEb,CAGF,OADArC,EAAMG,IAAM0C,UAAWL,GACdxC,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECmC,IACJrC,EAAM2C,UAAW,GAElB3C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM8C,SAAW,EAAgB9C,EAAMM,WAAa,EACpDN,EAAMG,IAAMR,OAAQK,EAAMG,KAC1B,MACD,IAAK,IAEJ,IAAM4B,EAAO/B,EAAMG,KAAQ,CAE1B,IADAoC,EAAMnC,SAAUJ,EAAMG,IAAK,KAChB,GAAKoC,EAAM,IACrB,MAAM,IAAIxE,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ4B,EAAOQ,GAAU5C,OAAQK,EAAMG,KAAQyB,EAAcW,EACnE,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLrC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,EAAcpB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAM8C,UAAY,GAAK9C,EAAMG,IAAIZ,OAASS,EAAM8C,WACpD9C,EAAMG,IAAMH,EAAMG,IAAI4C,UAAW,EAAG/C,EAAM8C,WAEtC9C,EAAM2C,SACV3C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,KDzKSjB,ECyKOc,EAAMG,IDzKRhB,ECyKaa,EAAMb,MDzKZC,ECyKmBY,EAAMO,SDxKnDjB,YAAMH,EAAQD,EAAIK,QACX,EACHL,EAERA,EAAM,EACLA,EAAMyC,EAAQrC,GACdqC,EAAQrC,GAAQJ,ICoKfrC,GAAOmD,EAAMG,KAAO,GACpBqC,GAAO,CACP,CAEF,OAAO3F,CACR,CE5MA,IAAImG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAIlD,EAAQ,CACXkC,QAAagB,EAAO,GAAQ9C,SAAU8C,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB5C,UAAa4C,EAAO,GACpBhD,UAAagD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjClD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASmD,EAAgBjE,GACxB,IAAIkE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ6C,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ6C,EAAOqB,KAAML,GAEPhB,CACR,CCtCA,SAASsB,EAAQxE,GAChB,IAAIyE,EACA3E,EAEJ,GCf0B,iBDeVE,EACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAGjG,IADAyE,EAAO,CAAEC,EAAU1E,IACbF,EAAI,EAAGA,EAAI6D,UAAUtD,OAAQP,IAClC2E,EAAKF,KAAMZ,UAAW7D,IAEvB,OAAO6E,EAAYC,MAAO,KAAMH,EACjC,CE7BA,IAAII,GAAiB9H,OAAOC,UACxBF,GAAQ+H,GAAe5H,SACvB6H,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA5F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CACP,CAAC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGKwH,GACa3G,EDqBlB,SAAyB4G,EAAKC,EAAMC,GACnC,IAAI1I,EACA2I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB1I,GAAMgB,KAAM0H,GAC3D,MAAM,IAAIhC,UAAWgB,EAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B5I,GAAMgB,KAAM4H,GACzE,MAAM,IAAIlC,UAAWgB,EAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAapH,KAAM0H,EAAKC,IACxBL,GAAatH,KAAM0H,EAAKC,IAGxBzI,EAAYwI,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW9H,MAGzB4H,EAAIM,UAAY9I,GAEhBwI,EAAKC,GAASC,EAAW9H,OAG3BgI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAIhH,MAAO,wHASlB,OANK+G,GAAUd,IACdA,GAAahH,KAAM0H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAalH,KAAM0H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAM7H,GAC7C8B,GAAgB8F,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxI,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDcUsI,CAAMzI,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCoBA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICnBA,IAAIE,GAAerI,GAAOsI,kBClB1B,SAASC,GAAW/I,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWoH,EDDXhJ,KCEagJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAW/I,GACnB,OACC+B,GAAU/B,IACViJ,GAAOjJ,EAET,CCLA,SAAS+I,GAAW/I,GACnB,OACC+B,GAAU/B,IACViJ,GAAOjJ,EAAMkJ,UAEf,CCGA,SAASH,GAAW/I,GACnB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCXA,SAASmJ,GAAsBnJ,GAC9B,OACC+I,GAAW/I,IACXA,GAAS,CAEX,CCLA,SAASmJ,GAAsBnJ,GAC9B,OACC+I,GAAW/I,IACXA,EAAMkJ,WAAa,CAErB,CCQA,SAASC,GAAsBnJ,GAC9B,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCtBA,SAASoJ,GAAUpJ,GAClB,MAA0B,iBAAVA,CACjB,CCmCA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICAAC,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICpDA,IAAIO,GAAUrG,OAAOzD,UAAU8J,QCQ/B,IAAIpK,GAAMa,IAmBV,SAASyJ,GAAUpJ,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAkJ,GAAQhJ,KAAMF,IACP,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDaUsI,CAAMzI,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAASoJ,GAAUpJ,GAClB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCsBA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,IChBA,IAAIU,GAA2B,iBC7B3B1I,QAA4C,IAA5BkC,OAAOzD,UAAUkK,OCArC,IAAIA,GAASzG,OAAOzD,UAAUkK,OCmC9B,IAAAnG,GATKoG,GCFL,SAAiBnH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIuH,EACAC,EACJ,GAAoB,IAAfrH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAuH,EAAM,GACNC,EAAMxH,EAGY,IAAP,EAAJwH,KACLD,GAAOpH,GAIK,IADbqH,KAAS,IAKTrH,GAAOA,EAER,OAAOoH,CACR,EC1DIE,GAAO7H,KAAK6H,KCWhB,SAASC,GAAMvH,EAAKwH,EAAKpH,GACxB,IAAIqH,EACJ,IAAMT,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUtD,OAAS,EAAI,CAE3B,IAAM2G,GADNS,EAAIrH,GAEH,MAAM,IAAIoD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAEpH,OACN,MAAM,IAAIqH,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAexH,EAAKwH,EAAKpH,GACxB,IAAIP,GAAM2H,EAAMxH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAIyH,GAAMzH,GACHG,EAAMkH,GAAQ9G,EAAKP,GAC3B,CDsBQkB,CAAMf,EAAKwH,EAAKC,EACxB,CEvBA,SAASE,GAAM3H,EAAKwH,EAAKpH,GACxB,IAAIqH,EACJ,IAAMT,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUtD,OAAS,EAAI,CAE3B,IAAM2G,GADNS,EAAIrH,GAEH,MAAM,IAAIoD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAEpH,OACN,MAAM,IAAIqH,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAexH,EAAKwH,EAAKpH,GACxB,IAAIP,GAAM2H,EAAMxH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAIyH,GAAMzH,GACHqH,GAAQ9G,EAAKP,GAAMG,EAC3B,CDsBQe,CAAMf,EAAKwH,EAAKC,EACxB,CE1BA,SAASP,GAAQlH,EAAKH,GACrB,IAAMmH,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBlH,GAC3B,MAAM,IAAI2D,UAAWgB,EAAQ,gFAAiF3E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAAS+H,GAAMhB,GAKd,IAJA,IACIiB,EADA7H,EAAM,GAIF4G,EAAI,GAIV5G,GAHD6H,EAAIjB,EAAI,MACRA,EAAIpH,EAAOqI,IAEJ,IAAM7H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC3CA,IAAI8H,GAAW,IACXC,GAAW,GCwEf,SAASC,GAAiBpB,GACzB,IAAIqB,EACA3G,EACAtB,EACAkI,EACArI,EACAuC,EACAtC,EASJ,GALCwB,EADIsF,EAAI,GAAO,EAAIA,IAAMrH,EAClB,IAEA,IAGHqH,IAAMlI,GAAQkI,IAAMrH,EAIxB,OAAO+B,GAFP4G,EAAMhB,GAAQ,IA3EQ,KA4EtBlH,EAAMkH,GAAQ,IA7EW,KAiF1B,GAAKN,GAAMA,EAIV,OAAOtF,GAFP4G,EAAMhB,GAAQ,IAlFQ,KAmFtBlH,EAAM,IAAMkH,GAAQ,IAAKiB,KAI1B,GAAW,IAANvB,EAIJ,OAAOtF,GAFP4G,EAAMhB,GAAQ,IAzFQ,KA0FtBlH,EAAMkH,GAAQ,IA3FW,KA2G1B,GAPA9E,GANAwE,ECnFD,SAAcA,GACb,OAAOnH,KAAKgC,IAAKmF,EAClB,CDiFKnF,CAAKmF,KAGT/G,EAAIL,EAAOoH,IAMX/G,EAAI+H,GAAM/H,GACVuC,EDlGD,SAAgBwE,GACf,IAAI5G,EACA6H,EACA/H,EACAyD,EAGJ,GADAvD,EAAM,GACK,IAAN4G,EACJ,OAAO5G,EAKR,IAHAuD,EAAIuE,GAGEhI,EAAI,EAAGA,EAAIgI,MAChBD,EAAQ,EAAJjB,IACM,GACTA,EAAIiB,EAAI,EACR7H,GAAO,IACFuD,IAAMuE,KACVvE,EAAIzD,KAGL8G,EAAIiB,EACJ7H,GAAO,OAGG,IAAN6H,GAAa/H,EAAEyD,EAAIwE,KAbEjI,KAkB3B,OAAOE,CACR,CCkEKoI,CAAOhG,GAGNvC,EAEJqI,EAAMrI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIsC,EAAE/B,OAAQP,IAC1B,GAAgB,MAAXsC,EAAGtC,GAAc,CACrBmI,EAAQnI,EAAI,EACZ,KACA,CAGFoI,GAAOD,CACP,CAuBD,OArBAjI,EAAMH,EAAIuC,EACL8F,EAAM,GAELA,IE9GqB,MFgHzBD,EAAQI,KAGTrI,EAAMA,EAAI6D,UAAWoE,IAGrBjI,EAAMA,EAAI6D,UAAW,GAUfvC,GANP4G,EAAMP,GADNO,EAAMN,GAAMM,EEzHe,KFdJ,EAwIa,OAGpClI,EAAMuH,GAAMvH,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IAgJ3B","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,81,82]} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index f7fa652..0000000 --- a/stats.html +++ /dev/null @@ -1,4842 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From ad45541ded6586249b17a851fe9950461b130cad Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 7 Apr 2025 00:51:32 +0000 Subject: [PATCH 140/146] Auto-generated commit --- .editorconfig | 180 - .eslintrc.js | 1 - .gitattributes | 66 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 794 --- .github/workflows/publish.yml | 252 - .github/workflows/test.yml | 99 - .github/workflows/test_bundles.yml | 186 - .github/workflows/test_coverage.yml | 133 - .github/workflows/test_install.yml | 85 - .github/workflows/test_published_package.yml | 105 - .gitignore | 194 - .npmignore | 229 - .npmrc | 31 - CHANGELOG.md | 222 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 44 +- SECURITY.md | 5 - benchmark/benchmark.js | 52 - branches.md | 56 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 4842 ++++++++++++++++++ test/dist/test.js | 33 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 84 - test/test.js | 162 - 52 files changed, 4863 insertions(+), 4612 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .github/workflows/test_published_package.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 SECURITY.md delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index dab5d2a..0000000 --- a/.editorconfig +++ /dev/null @@ -1,180 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = true # Note: this disables using two spaces to force a hard line break, which is permitted in Markdown. As we don't typically follow that practice (TMK), we should be safe to automatically trim. - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 1c88e69..0000000 --- a/.gitattributes +++ /dev/null @@ -1,66 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/lib/node_modules/** -linguist-vendored -linguist-generated - -# Configure directories which should *not* be included in GitHub language statistics: -/deps/** linguist-vendored -/dist/** linguist-generated -/workshops/** linguist-vendored - -benchmark/** linguist-vendored -docs/* linguist-documentation -etc/** linguist-vendored -examples/** linguist-documentation -scripts/** linguist-vendored -test/** linguist-vendored -tools/** linguist-vendored - -# Configure files which should *not* be included in GitHub language statistics: -Makefile linguist-vendored -*.mk linguist-vendored -*.jl linguist-vendored -*.py linguist-vendored -*.R linguist-vendored - -# Configure files which should be included in GitHub language statistics: -docs/types/*.d.ts -linguist-documentation diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index b53a8cd..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2025-04-07T00:38:31.749Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 6afb4f9..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/contributing/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index e4f10fe..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index b5291db..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # v0.12.1 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 2984901..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index e313406..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 # v3.0.3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index f4575e9..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,794 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 -r sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA - uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 - with: - status: ${{ job.status }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index a8a9c60..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,33 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2023 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 main = require( './../../dist' ); - - -// TESTS // - -tape( 'main export is defined', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( main !== void 0, true, 'main export is defined' ); - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index fb9fc20..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index 7d4bc51..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 316e027..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index f370bba..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index 9cc0556..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - write( outfile, "\n" ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From a1eea9ce9112077c48c6d424414f3d9183dfa8fd Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 12 May 2025 00:40:13 +0000 Subject: [PATCH 141/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 3b7a9d2..a77479f 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.2.3", "@stdlib/string-left-pad": "^0.2.2", "@stdlib/string-repeat": "^0.2.2", - "@stdlib/string-right-pad": "^0.2.2" + "@stdlib/string-right-pad": "^0.2.2", + "@stdlib/error-tools-fmtprodmsg": "^0.2.2" }, "devDependencies": { "@stdlib/assert-is-string": "^0.2.2", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From ed09fd1ac6e71422de551eddbd6a8738756bf537 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 12 May 2025 00:49:07 +0000 Subject: [PATCH 142/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 4842 ---------------------------------------------------- 4 files changed, 4925 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 84d9489..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( '@stdlib/constants-float32-pinf' ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( '@stdlib/constants-float32-ninf' ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index a854397..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2025 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var l=Number.POSITIVE_INFINITY,s="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof s)return!1;try{e=new s([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===l}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,d="function"==typeof Uint32Array;var h="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof h)return!1;try{e=new h(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(d&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var V=Object.defineProperty;function j(r){return"number"==typeof r}function x(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=$.call(t,W,"$1e"),t=$.call(t,M,"e"),t=$.call(t,Z,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=$.call(t,U,"e+0$1"),t=$.call(t,N,"e-0$1"),r.alternate&&(t=$.call(t,C,"$1."),t=$.call(t,G,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===R.call(r.specifier)?R.call(t):P.call(t)}function X(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=q(a)?String(n.arg):Y(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=L(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=A(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=(s=n.arg,f=n.width,p=n.padRight,g=void 0,(g=f-s.length)<0?s:s=p?s+X(g):X(g)+s)),o+=n.arg||"",u+=1}return o}var H=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function J(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function K(r){var e,t,n,i;for(t=[],i=0,n=H.exec(r);n;)(e=r.slice(i,H.lastIndex-n[0].length)).length&&t.push(e),t.push(J(n)),i=H.lastIndex,n=H.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function Q(r){var e,t;if("string"!=typeof r)throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=[K(r)],t=1;tdr&&_(e=r)===e;var e}function vr(r){return cr(r)&&hr(r)}function yr(r){return pr(r)&&hr(r.valueOf())}function mr(r){return vr(r)||yr(r)}function wr(r){return vr(r)&&r>=0}function br(r){return yr(r)&&r.valueOf()>=0}function Er(r){return wr(r)||br(r)}function Sr(r){return"string"==typeof r}ur(mr,"isPrimitive",vr),ur(mr,"isObject",yr),ur(Er,"isPrimitive",wr),ur(Er,"isObject",br);var _r=String.prototype.valueOf;var Tr=e();function Vr(r){return"object"==typeof r&&(r instanceof String||(Tr?function(r){try{return _r.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function jr(r){return Sr(r)||Vr(r)}ur(jr,"isPrimitive",Sr),ur(jr,"isObject",Vr);var xr=9007199254740991,Ar=void 0!==String.prototype.repeat;var Fr=String.prototype.repeat;var kr=Ar?function(r,e){return Fr.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Or=Math.ceil;function Ir(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),r+kr(t,n))}(r,e,n)}function Pr(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),kr(t,n)+r)}(r,e,n)}function Rr(r,e){if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return kr(r,e)}function $r(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}var Ur=149,Nr=24;function Cr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=Rr("1",8))+(n=Rr("0",23));if(r!=r)return t+(i=Rr("1",8))+(n="1"+Rr("0",22));if(0===r)return t+(i=Rr("0",8))+(n=Rr("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=$r(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=Ur,n=0;n=1?(r=t-1,e+="1",i===Ur&&(i=n)):(r=t,e+="0"),!(1===t||n-i>Nr));n++);return e}(o),a)i=a.length-1;else{for(u=0;u\n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e' );\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Returns a boolean indicating whether a value is `NaN`.\n*\n* @private\n* @param {*} value - input value\n* @returns {boolean} boolean indicating whether a value is `NaN`\n*\n* @example\n* var bool = isnan( NaN );\n* // returns true\n*\n* @example\n* var bool = isnan( 4 );\n* // returns false\n*/\nfunction isnan( value ) { // explicitly define a function here instead of `@stdlib/math/base/assert/is-nan` in order to avoid circular dependencies\n\treturn ( value !== value );\n}\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\ttoken.arg = String( token.arg );\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ? String( token.arg ) : fromCharCode( num ); // eslint-disable-line max-len\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\targs = [ tokenize( str ) ];\n\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\targs.push( arguments[ i ] );\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","fromCharCode","isArray","Array","isnan","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","FLOAT64_MAX_SAFE_INTEGER","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","p","RangeError","lpad","div2","y","MAX_ITER","MAX_BITS","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CACnB,CAAC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAEd,CAAC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAEN,CAAC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CCpFA,IAAI8D,EAAMhC,KAAKgC,IACXjB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Bc,EAAUjB,OAAOzD,UAAU0E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcpB,GACtB,IAAIqB,EACAxE,EACAyE,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMzC,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7DyE,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAMyE,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAMyE,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,EAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEXxE,EAAMyE,EAAEE,cAAeH,IAEvBxE,EAAMyE,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAM+D,EAAQ5D,KAAMH,EAAKsE,EAAoB,OAC7CtE,EAAM+D,EAAQ5D,KAAMH,EAAKqE,EAAoB,KAC7CrE,EAAM+D,EAAQ5D,KAAMH,EAAKoE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAIlD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAM+D,EAAQ5D,KAAMH,EAAKgE,EAAmB,SAC5ChE,EAAM+D,EAAQ5D,KAAMH,EAAKiE,EAAmB,SACvCd,EAAMS,YACV5D,EAAM+D,EAAQ5D,KAAMH,EAAKkE,EAAgB,OACzClE,EAAM+D,EAAQ5D,KAAMH,EAAKmE,EAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS8E,EAAQ5C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CCLA,IAAI+E,EAAejC,OAAOiC,aACtBC,EAAUC,MAAMD,QAoBpB,SAASE,EAAOjF,GACf,OAASA,GAAUA,CACpB,CASA,SAASkF,EAAYhC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIoF,MAAQjC,EAAMiC,OAAS,GAC3BpF,EAAIqF,QAAUlC,EAAMkC,QACbrF,CACR,CAmBA,SAASsF,EAAmBC,GAC3B,IAAIC,EACAJ,EACAjC,EACAsC,EACAC,EACA1F,EACA2F,EACAxD,EACAyD,EDjDcvD,EAAKC,EAAOC,EAC1BE,ECkDJ,IAAMuC,EAASO,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFAvF,EAAM,GACN2F,EAAM,EACAxD,EAAI,EAAGA,EAAIoD,EAAO7C,OAAQP,IAE/B,GADAgB,EAAQoC,EAAQpD,GCxES,iBDyEVgB,EACdnD,GAAOmD,MACD,CAGN,GAFAqC,OAAgC,IAApBrC,EAAMM,YAClBN,EAAQgC,EAAYhC,IACRE,UACX,MAAM,IAAIwC,UAAW,oEAAqE1D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMkC,UACVM,EAAMxC,EAAMkC,SAEbD,EAAQjC,EAAMiC,MACRQ,EAAI,EAAGA,EAAIR,EAAM1C,OAAQkD,IAE9B,OADAH,EAAOL,EAAMvB,OAAQ+B,IAErB,IAAK,IACJzC,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM2C,UAAW,EACjB,MACD,IAAK,IACJ3C,EAAM2C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ5C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmBuE,GAGtC,GAAqB,MAAhBtC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAUyC,UAAWL,GAAO,IAC1CA,GAAO,EACFT,EAAO/B,EAAMb,OACjB,MAAM,IAAIuD,UAAW,wCAA0CF,EAAM,6BAA+BxC,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKkD,GACqB,MAApBrC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAUyC,UAAWL,GAAO,IAC9CA,GAAO,EACFT,EAAO/B,EAAMM,WACjB,MAAM,IAAIoC,UAAW,4CAA8CF,EAAM,6BAA+BxC,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClB+B,GAAY,EAEb,CAGF,OADArC,EAAMG,IAAM0C,UAAWL,GACdxC,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECmC,IACJrC,EAAM2C,UAAW,GAElB3C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM8C,SAAW,EAAgB9C,EAAMM,WAAa,EACpDN,EAAMG,IAAMR,OAAQK,EAAMG,KAC1B,MACD,IAAK,IAEJ,IAAM4B,EAAO/B,EAAMG,KAAQ,CAE1B,IADAoC,EAAMnC,SAAUJ,EAAMG,IAAK,KAChB,GAAKoC,EAAM,IACrB,MAAM,IAAIxE,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ4B,EAAOQ,GAAU5C,OAAQK,EAAMG,KAAQyB,EAAcW,EACnE,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLrC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,EAAcpB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAM8C,UAAY,GAAK9C,EAAMG,IAAIZ,OAASS,EAAM8C,WACpD9C,EAAMG,IAAMH,EAAMG,IAAI4C,UAAW,EAAG/C,EAAM8C,WAEtC9C,EAAM2C,SACV3C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,KDzKSjB,ECyKOc,EAAMG,IDzKRhB,ECyKaa,EAAMb,MDzKZC,ECyKmBY,EAAMO,SDxKnDjB,YAAMH,EAAQD,EAAIK,QACX,EACHL,EAERA,EAAM,EACLA,EAAMyC,EAAQrC,GACdqC,EAAQrC,GAAQJ,ICoKfrC,GAAOmD,EAAMG,KAAO,GACpBqC,GAAO,CACP,CAEF,OAAO3F,CACR,CE5MA,IAAImG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAIlD,EAAQ,CACXkC,QAAagB,EAAO,GAAQ9C,SAAU8C,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB5C,UAAa4C,EAAO,GACpBhD,UAAagD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjClD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASmD,EAAgBjE,GACxB,IAAIkE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ6C,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ6C,EAAOqB,KAAML,GAEPhB,CACR,CCtCA,SAASsB,EAAQxE,GAChB,IAAIyE,EACA3E,EAEJ,GCf0B,iBDeVE,EACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAGjG,IADAyE,EAAO,CAAEC,EAAU1E,IACbF,EAAI,EAAGA,EAAI6D,UAAUtD,OAAQP,IAClC2E,EAAKF,KAAMZ,UAAW7D,IAEvB,OAAO6E,EAAYC,MAAO,KAAMH,EACjC,CE7BA,IAAII,GAAiB9H,OAAOC,UACxBF,GAAQ+H,GAAe5H,SACvB6H,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA5F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CACP,CAAC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGKwH,GACa3G,EDqBlB,SAAyB4G,EAAKC,EAAMC,GACnC,IAAI1I,EACA2I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB1I,GAAMgB,KAAM0H,GAC3D,MAAM,IAAIhC,UAAWgB,EAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B5I,GAAMgB,KAAM4H,GACzE,MAAM,IAAIlC,UAAWgB,EAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAapH,KAAM0H,EAAKC,IACxBL,GAAatH,KAAM0H,EAAKC,IAGxBzI,EAAYwI,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW9H,MAGzB4H,EAAIM,UAAY9I,GAEhBwI,EAAKC,GAASC,EAAW9H,OAG3BgI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAIhH,MAAO,wHASlB,OANK+G,GAAUd,IACdA,GAAahH,KAAM0H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAalH,KAAM0H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAM7H,GAC7C8B,GAAgB8F,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxI,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDcUsI,CAAMzI,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCoBA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICnBA,IAAIE,GAAerI,GAAOsI,kBClB1B,SAASC,GAAW/I,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWoH,EDDXhJ,KCEagJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAW/I,GACnB,OACC+B,GAAU/B,IACViJ,GAAOjJ,EAET,CCLA,SAAS+I,GAAW/I,GACnB,OACC+B,GAAU/B,IACViJ,GAAOjJ,EAAMkJ,UAEf,CCGA,SAASH,GAAW/I,GACnB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCXA,SAASmJ,GAAsBnJ,GAC9B,OACC+I,GAAW/I,IACXA,GAAS,CAEX,CCLA,SAASmJ,GAAsBnJ,GAC9B,OACC+I,GAAW/I,IACXA,EAAMkJ,WAAa,CAErB,CCQA,SAASC,GAAsBnJ,GAC9B,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCtBA,SAASoJ,GAAUpJ,GAClB,MAA0B,iBAAVA,CACjB,CCmCA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICAAC,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICpDA,IAAIO,GAAUrG,OAAOzD,UAAU8J,QCQ/B,IAAIpK,GAAMa,IAmBV,SAASyJ,GAAUpJ,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAkJ,GAAQhJ,KAAMF,IACP,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDaUsI,CAAMzI,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAASoJ,GAAUpJ,GAClB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCsBA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,IChBA,IAAIU,GAA2B,iBC7B3B1I,QAA4C,IAA5BkC,OAAOzD,UAAUkK,OCArC,IAAIA,GAASzG,OAAOzD,UAAUkK,OCmC9B,IAAAnG,GATKoG,GCFL,SAAiBnH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIuH,EACAC,EACJ,GAAoB,IAAfrH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAuH,EAAM,GACNC,EAAMxH,EAGY,IAAP,EAAJwH,KACLD,GAAOpH,GAIK,IADbqH,KAAS,IAKTrH,GAAOA,EAER,OAAOoH,CACR,EC1DIE,GAAO7H,KAAK6H,KCWhB,SAASC,GAAMvH,EAAKwH,EAAKpH,GACxB,IAAIqH,EACJ,IAAMT,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUtD,OAAS,EAAI,CAE3B,IAAM2G,GADNS,EAAIrH,GAEH,MAAM,IAAIoD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAEpH,OACN,MAAM,IAAIqH,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAexH,EAAKwH,EAAKpH,GACxB,IAAIP,GAAM2H,EAAMxH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAIyH,GAAMzH,GACHG,EAAMkH,GAAQ9G,EAAKP,GAC3B,CDsBQkB,CAAMf,EAAKwH,EAAKC,EACxB,CEvBA,SAASE,GAAM3H,EAAKwH,EAAKpH,GACxB,IAAIqH,EACJ,IAAMT,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUtD,OAAS,EAAI,CAE3B,IAAM2G,GADNS,EAAIrH,GAEH,MAAM,IAAIoD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAEpH,OACN,MAAM,IAAIqH,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAexH,EAAKwH,EAAKpH,GACxB,IAAIP,GAAM2H,EAAMxH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAIyH,GAAMzH,GACHqH,GAAQ9G,EAAKP,GAAMG,EAC3B,CDsBQe,CAAMf,EAAKwH,EAAKC,EACxB,CE1BA,SAASP,GAAQlH,EAAKH,GACrB,IAAMmH,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBlH,GAC3B,MAAM,IAAI2D,UAAWgB,EAAQ,gFAAiF3E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAAS+H,GAAMhB,GAKd,IAJA,IACIiB,EADA7H,EAAM,GAIF4G,EAAI,GAIV5G,GAHD6H,EAAIjB,EAAI,MACRA,EAAIpH,EAAOqI,IAEJ,IAAM7H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC3CA,IAAI8H,GAAW,IACXC,GAAW,GCwEf,SAASC,GAAiBpB,GACzB,IAAIqB,EACA3G,EACAtB,EACAkI,EACArI,EACAuC,EACAtC,EASJ,GALCwB,EADIsF,EAAI,GAAO,EAAIA,IAAMrH,EAClB,IAEA,IAGHqH,IAAMlI,GAAQkI,IAAMrH,EAIxB,OAAO+B,GAFP4G,EAAMhB,GAAQ,IA3EQ,KA4EtBlH,EAAMkH,GAAQ,IA7EW,KAiF1B,GAAKN,GAAMA,EAIV,OAAOtF,GAFP4G,EAAMhB,GAAQ,IAlFQ,KAmFtBlH,EAAM,IAAMkH,GAAQ,IAAKiB,KAI1B,GAAW,IAANvB,EAIJ,OAAOtF,GAFP4G,EAAMhB,GAAQ,IAzFQ,KA0FtBlH,EAAMkH,GAAQ,IA3FW,KA2G1B,GAPA9E,GANAwE,ECnFD,SAAcA,GACb,OAAOnH,KAAKgC,IAAKmF,EAClB,CDiFKnF,CAAKmF,KAGT/G,EAAIL,EAAOoH,IAMX/G,EAAI+H,GAAM/H,GACVuC,EDlGD,SAAgBwE,GACf,IAAI5G,EACA6H,EACA/H,EACAyD,EAGJ,GADAvD,EAAM,GACK,IAAN4G,EACJ,OAAO5G,EAKR,IAHAuD,EAAIuE,GAGEhI,EAAI,EAAGA,EAAIgI,MAChBD,EAAQ,EAAJjB,IACM,GACTA,EAAIiB,EAAI,EACR7H,GAAO,IACFuD,IAAMuE,KACVvE,EAAIzD,KAGL8G,EAAIiB,EACJ7H,GAAO,OAGG,IAAN6H,GAAa/H,EAAEyD,EAAIwE,KAbEjI,KAkB3B,OAAOE,CACR,CCkEKoI,CAAOhG,GAGNvC,EAEJqI,EAAMrI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIsC,EAAE/B,OAAQP,IAC1B,GAAgB,MAAXsC,EAAGtC,GAAc,CACrBmI,EAAQnI,EAAI,EACZ,KACA,CAGFoI,GAAOD,CACP,CAuBD,OArBAjI,EAAMH,EAAIuC,EACL8F,EAAM,GAELA,IE9GqB,MFgHzBD,EAAQI,KAGTrI,EAAMA,EAAI6D,UAAWoE,IAGrBjI,EAAMA,EAAI6D,UAAW,GAUfvC,GANP4G,EAAMP,GADNO,EAAMN,GAAMM,EEzHe,KFdJ,EAwIa,OAGpClI,EAAMuH,GAAMvH,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IAgJ3B","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,81,82]} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index f7fa652..0000000 --- a/stats.html +++ /dev/null @@ -1,4842 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From 9425fc16f8d50a3c6d5868e5a97010e843b44407 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 12 May 2025 00:49:28 +0000 Subject: [PATCH 143/146] Auto-generated commit --- .editorconfig | 180 - .eslintrc.js | 1 - .gitattributes | 66 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 794 --- .github/workflows/publish.yml | 252 - .github/workflows/test.yml | 99 - .github/workflows/test_bundles.yml | 186 - .github/workflows/test_coverage.yml | 133 - .github/workflows/test_install.yml | 85 - .github/workflows/test_published_package.yml | 105 - .gitignore | 194 - .npmignore | 229 - .npmrc | 31 - CHANGELOG.md | 222 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 44 +- SECURITY.md | 5 - benchmark/benchmark.js | 52 - branches.md | 56 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 4842 ++++++++++++++++++ test/dist/test.js | 33 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 84 - test/test.js | 162 - 52 files changed, 4863 insertions(+), 4612 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .github/workflows/test_published_package.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 SECURITY.md delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index dab5d2a..0000000 --- a/.editorconfig +++ /dev/null @@ -1,180 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = true # Note: this disables using two spaces to force a hard line break, which is permitted in Markdown. As we don't typically follow that practice (TMK), we should be safe to automatically trim. - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 1c88e69..0000000 --- a/.gitattributes +++ /dev/null @@ -1,66 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/lib/node_modules/** -linguist-vendored -linguist-generated - -# Configure directories which should *not* be included in GitHub language statistics: -/deps/** linguist-vendored -/dist/** linguist-generated -/workshops/** linguist-vendored - -benchmark/** linguist-vendored -docs/* linguist-documentation -etc/** linguist-vendored -examples/** linguist-documentation -scripts/** linguist-vendored -test/** linguist-vendored -tools/** linguist-vendored - -# Configure files which should *not* be included in GitHub language statistics: -Makefile linguist-vendored -*.mk linguist-vendored -*.jl linguist-vendored -*.py linguist-vendored -*.R linguist-vendored - -# Configure files which should be included in GitHub language statistics: -docs/types/*.d.ts -linguist-documentation diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index cb5ca5f..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2025-05-12T00:38:54.195Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 6afb4f9..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/contributing/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index e4f10fe..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index b5291db..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # v0.12.1 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 2984901..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index e313406..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 # v3.0.3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index f4575e9..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,794 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 -r sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA - uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 - with: - status: ${{ job.status }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index a8a9c60..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,33 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2023 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 main = require( './../../dist' ); - - -// TESTS // - -tape( 'main export is defined', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( main !== void 0, true, 'main export is defined' ); - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index fb9fc20..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index 7d4bc51..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 316e027..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index f370bba..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index 9cc0556..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - write( outfile, "\n" ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); From e4426017d5739bd1dea0505ca30f289765c12955 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 19 May 2025 01:38:18 +0000 Subject: [PATCH 144/146] Transform error messages --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 3b7a9d2..a77479f 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "@stdlib/math-base-special-floor": "^0.2.3", "@stdlib/string-left-pad": "^0.2.2", "@stdlib/string-repeat": "^0.2.2", - "@stdlib/string-right-pad": "^0.2.2" + "@stdlib/string-right-pad": "^0.2.2", + "@stdlib/error-tools-fmtprodmsg": "^0.2.2" }, "devDependencies": { "@stdlib/assert-is-string": "^0.2.2", @@ -98,4 +99,4 @@ "type": "opencollective", "url": "https://opencollective.com/stdlib" } -} +} \ No newline at end of file From 86f7a9170597fdab19d62e155c58c483c57cb7c8 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 19 May 2025 02:19:07 +0000 Subject: [PATCH 145/146] Remove files --- mod.d.ts | 78 - mod.js | 4 - mod.js.map | 1 - stats.html | 4842 ---------------------------------------------------- 4 files changed, 4925 deletions(-) delete mode 100644 mod.d.ts delete mode 100644 mod.js delete mode 100644 mod.js.map delete mode 100644 stats.html diff --git a/mod.d.ts b/mod.d.ts deleted file mode 100644 index 84d9489..0000000 --- a/mod.d.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2019 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. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns a string giving the literal bit representation of a single-precision floating-point number. -* -* @param x - input value -* @returns bit representation -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 4.0 ) ); -* // returns '01000000100000000000000000000000' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) ); -* // returns '01000000010010010000111111011011' -* -* @example -* var str = toBinaryStringf( toFloat32( -1e38 ) ); -* // returns '11111110100101100111011010011001' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( -3.14e-39 ) ); -* // returns '10000000001000100011000100001011' -* -* @example -* var toFloat32 = require( '@stdlib/number-float64-base-to-float32' ); -* var str = toBinaryStringf( toFloat32( 1.4e-45 ) ); -* // returns '00000000000000000000000000000001' -* -* @example -* var str = toBinaryStringf( 0.0 ); -* // returns '00000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( -0.0 ); -* // returns '10000000000000000000000000000000' -* -* @example -* var str = toBinaryStringf( NaN ); -* // returns '01111111110000000000000000000000' -* -* @example -* var PINF = require( '@stdlib/constants-float32-pinf' ); -* var str = toBinaryStringf( PINF ); -* // returns '01111111100000000000000000000000' -* -* @example -* var NINF = require( '@stdlib/constants-float32-ninf' ); -* var str = toBinaryStringf( NINF ); -* // returns '11111111100000000000000000000000' -*/ -declare function toBinaryStringf( x: number ): string; - - -// EXPORTS // - -export = toBinaryStringf; diff --git a/mod.js b/mod.js deleted file mode 100644 index a854397..0000000 --- a/mod.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2025 The Stdlib Authors. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 -/// -var r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo");function e(){return r&&"symbol"==typeof Symbol.toStringTag}var t=Object.prototype.toString;var n=Object.prototype.hasOwnProperty;var i,a="function"==typeof Symbol?Symbol:void 0,o="function"==typeof a?a.toStringTag:"";i=e()?function(r){var e,i,a,u,c;if(null==r)return t.call(r);i=r[o],c=o,e=null!=(u=r)&&n.call(u,c);try{r[o]=void 0}catch(e){return t.call(r)}return a=t.call(r),e?r[o]=i:delete r[o],a}:function(r){return t.call(r)};var u=i,c="function"==typeof Float32Array;var l=Number.POSITIVE_INFINITY,s="function"==typeof Float32Array?Float32Array:null;var f,p="function"==typeof Float32Array?Float32Array:void 0;f=function(){var r,e,t;if("function"!=typeof s)return!1;try{e=new s([1,3.14,-3.14,5e40]),t=e,r=(c&&t instanceof Float32Array||"[object Float32Array]"===u(t))&&1===e[0]&&3.140000104904175===e[1]&&-3.140000104904175===e[2]&&e[3]===l}catch(e){r=!1}return r}()?p:function(){throw new Error("not implemented")};var g=f,d="function"==typeof Uint32Array;var h="function"==typeof Uint32Array?Uint32Array:null;var v,y="function"==typeof Uint32Array?Uint32Array:void 0;v=function(){var r,e,t;if("function"!=typeof h)return!1;try{e=new h(e=[1,3.14,-3.14,4294967296,4294967297]),t=e,r=(d&&t instanceof Uint32Array||"[object Uint32Array]"===u(t))&&1===e[0]&&3===e[1]&&4294967293===e[2]&&0===e[3]&&1===e[4]}catch(e){r=!1}return r}()?y:function(){throw new Error("not implemented")};var m=v,w=new g(1);new m(w.buffer)[0]=2139095040;var b=w[0],E=new g(1);new m(E.buffer)[0]=4286578688;var S=E[0];var _=Math.floor,T="function"==typeof Object.defineProperty?Object.defineProperty:null;var V=Object.defineProperty;function j(r){return"number"==typeof r}function x(r){var e,t="";for(e=0;e0&&(e-=1),t=n.toExponential(e)):t=n.toPrecision(r.precision),r.alternate||(t=$.call(t,W,"$1e"),t=$.call(t,M,"e"),t=$.call(t,Z,""));break;default:throw new Error("invalid double notation. Value: "+r.specifier)}return t=$.call(t,U,"e+0$1"),t=$.call(t,N,"e-0$1"),r.alternate&&(t=$.call(t,C,"$1."),t=$.call(t,G,"$1.e")),n>=0&&r.sign&&(t=r.sign+t),t=r.specifier===R.call(r.specifier)?R.call(t):P.call(t)}function X(r){var e,t="";for(e=0;e127)throw new Error("invalid character code. Value: "+n.arg);n.arg=q(a)?String(n.arg):Y(a)}break;case"e":case"E":case"f":case"F":case"g":case"G":e||(n.precision=6),n.arg=L(n);break;default:throw new Error("invalid specifier: "+n.specifier)}n.maxWidth>=0&&n.arg.length>n.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=A(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=(s=n.arg,f=n.width,p=n.padRight,g=void 0,(g=f-s.length)<0?s:s=p?s+X(g):X(g)+s)),o+=n.arg||"",u+=1}return o}var H=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;function J(r){var e={mapping:r[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]};return"."===r[4]&&void 0===r[5]&&(e.precision="1"),e}function K(r){var e,t,n,i;for(t=[],i=0,n=H.exec(r);n;)(e=r.slice(i,H.lastIndex-n[0].length)).length&&t.push(e),t.push(J(n)),i=H.lastIndex,n=H.exec(r);return(e=r.slice(i)).length&&t.push(e),t}function Q(r){var e,t;if("string"!=typeof r)throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));for(e=[K(r)],t=1;tdr&&_(e=r)===e;var e}function vr(r){return cr(r)&&hr(r)}function yr(r){return pr(r)&&hr(r.valueOf())}function mr(r){return vr(r)||yr(r)}function wr(r){return vr(r)&&r>=0}function br(r){return yr(r)&&r.valueOf()>=0}function Er(r){return wr(r)||br(r)}function Sr(r){return"string"==typeof r}ur(mr,"isPrimitive",vr),ur(mr,"isObject",yr),ur(Er,"isPrimitive",wr),ur(Er,"isObject",br);var _r=String.prototype.valueOf;var Tr=e();function Vr(r){return"object"==typeof r&&(r instanceof String||(Tr?function(r){try{return _r.call(r),!0}catch(r){return!1}}(r):"[object String]"===u(r)))}function jr(r){return Sr(r)||Vr(r)}ur(jr,"isPrimitive",Sr),ur(jr,"isObject",Vr);var xr=9007199254740991,Ar=void 0!==String.prototype.repeat;var Fr=String.prototype.repeat;var kr=Ar?function(r,e){return Fr.call(r,e)}:function(r,e){var t,n;if(0===r.length||0===e)return"";for(t="",n=e;1==(1&n)&&(t+=r),0!=(n>>>=1);)r+=r;return t},Or=Math.ceil;function Ir(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Pad string must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),r+kr(t,n))}(r,e,n)}function Pr(r,e,t){var n;if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));if(arguments.length>2){if(!Sr(n=t))throw new TypeError(Q("invalid argument. Third argument must be a string. Value: `%s`.",n));if(0===n.length)throw new RangeError("invalid argument. Third argument must not be an empty string.")}else n=" ";if(e>xr)throw new RangeError(Q("invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.",e));return function(r,e,t){var n=(e-r.length)/t.length;return n<=0?r:(n=Or(n),kr(t,n)+r)}(r,e,n)}function Rr(r,e){if(!Sr(r))throw new TypeError(Q("invalid argument. First argument must be a string. Value: `%s`.",r));if(!wr(e))throw new TypeError(Q("invalid argument. Second argument must be a nonnegative integer. Value: `%s`.",e));return kr(r,e)}function $r(r){for(var e,t="";r>0;)t=(e=r/2)===(r=_(e))?"0"+t:"1"+t;return t}var Ur=149,Nr=24;function Cr(r){var e,t,n,i,a,o,u;if(t=r<0||1/r===S?"1":"0",r===b||r===S)return t+(i=Rr("1",8))+(n=Rr("0",23));if(r!=r)return t+(i=Rr("1",8))+(n="1"+Rr("0",22));if(0===r)return t+(i=Rr("0",8))+(n=Rr("0",23));if(o=(r=function(r){return Math.abs(r)}(r))-(a=_(r)),a=$r(a),o=function(r){var e,t,n,i;if(e="",0===r)return e;for(i=Ur,n=0;n=1?(r=t-1,e+="1",i===Ur&&(i=n)):(r=t,e+="0"),!(1===t||n-i>Nr));n++);return e}(o),a)i=a.length-1;else{for(u=0;u\n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nexport default hasToStringTagSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default hasSymbolSupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar toStr = Object.prototype.toString;\n\n\n// EXPORTS //\n\nexport default toStr;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nexport default hasOwnProp;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar Sym = ( typeof Symbol === 'function' ) ? Symbol : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default Sym;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a string value indicating a specification defined classification of an object.\n*\n* @module @stdlib/utils-native-class\n*\n* @example\n* import nativeClass from '@stdlib/utils-native-class';\n*\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* function Beep() {\n* return this;\n* }\n* str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar main;\nif ( hasToStringTag() ) {\n\tmain = polyfill;\n} else {\n\tmain = builtin;\n}\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Symbol from '@stdlib/symbol-ctor';\n\n\n// MAIN //\n\nvar toStrTag = ( typeof Symbol === 'function' ) ? Symbol.toStringTag : '';\n\n\n// EXPORTS //\n\nexport default toStrTag;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasOwnProp from '@stdlib/assert-has-own-property';\nimport toStringTag from './tostringtag.js';\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification of an object in environments supporting `Symbol.toStringTag`.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\tvar isOwn;\n\tvar tag;\n\tvar out;\n\n\tif ( v === null || v === void 0 ) {\n\t\treturn toStr.call( v );\n\t}\n\ttag = v[ toStringTag ];\n\tisOwn = hasOwnProp( v, toStringTag );\n\n\t// Attempt to override the `toStringTag` property. For built-ins having a `Symbol.toStringTag` property (e.g., `JSON`, `Math`, etc), the `Symbol.toStringTag` property is read-only (e.g., , so we need to wrap in a `try/catch`.\n\ttry {\n\t\tv[ toStringTag ] = void 0;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn toStr.call( v );\n\t}\n\tout = toStr.call( v );\n\n\tif ( isOwn ) {\n\t\tv[ toStringTag ] = tag;\n\t} else {\n\t\tdelete v[ toStringTag ];\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toStr from './tostring.js';\n\n\n// MAIN //\n\n/**\n* Returns a string value indicating a specification defined classification (via the internal property `[[Class]]`) of an object.\n*\n* @param {*} v - input value\n* @returns {string} string value indicating a specification defined classification of the input value\n*\n* @example\n* var str = nativeClass( 'a' );\n* // returns '[object String]'\n*\n* @example\n* var str = nativeClass( 5 );\n* // returns '[object Number]'\n*\n* @example\n* function Beep() {\n* return this;\n* }\n* var str = nativeClass( new Beep() );\n* // returns '[object Object]'\n*/\nfunction nativeClass( v ) {\n\treturn toStr.call( v );\n}\n\n\n// EXPORTS //\n\nexport default nativeClass;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isFloat32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float64-pinf\n* @type {number}\n*\n* @example\n* import FLOAT64_PINF from '@stdlib/constants-float64-pinf';\n* // returns Infinity\n*/\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.POSITIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_PINF = Number.POSITIVE_INFINITY; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default FLOAT64_PINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.\n*\n* @module @stdlib/array-float32\n*\n* @example\n* import ctor from '@stdlib/array-float32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasFloat32ArraySupport from '@stdlib/assert-has-float32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasFloat32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isFloat32Array from '@stdlib/assert-is-float32array';\nimport PINF from '@stdlib/constants-float64-pinf';\nimport GlobalFloat32Array from './float32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasFloat32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of single-precision floating-point numbers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport nativeClass from '@stdlib/utils-native-class';\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isUint32Array;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* @module @stdlib/constants-uint32-max\n* @type {uinteger32}\n*\n* @example\n* import UINT32_MAX from '@stdlib/constants-uint32-max';\n* // returns 4294967295\n*/\n\n\n// MAIN //\n\n/**\n* Maximum unsigned 32-bit integer.\n*\n* ## Notes\n*\n* The number has the value\n*\n* ```tex\n* 2^{32} - 1\n* ```\n*\n* which corresponds to the bit sequence\n*\n* ```binarystring\n* 11111111111111111111111111111111\n* ```\n*\n* @constant\n* @type {uinteger32}\n* @default 4294967295\n*/\nvar UINT32_MAX = 4294967295;\n\n\n// EXPORTS //\n\nexport default UINT32_MAX;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar ctor = ( typeof Uint32Array === 'function' ) ? Uint32Array : void 0; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.\n*\n* @module @stdlib/array-uint32\n*\n* @example\n* import ctor from '@stdlib/array-uint32';\n*\n* var arr = new ctor( 10 );\n* // returns \n*/\n\n// MODULES //\n\nimport hasUint32ArraySupport from '@stdlib/assert-has-uint32array-support';\nimport builtin from './main.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar ctor;\nif ( hasUint32ArraySupport() ) {\n\tctor = builtin;\n} else {\n\tctor = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default ctor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isUint32Array from '@stdlib/assert-is-uint32array';\nimport UINT32_MAX from '@stdlib/constants-uint32-max';\nimport GlobalUint32Array from './uint32array.js';\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nexport default hasUint32ArraySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: write polyfill\n\n// MAIN //\n\n/**\n* Typed array which represents an array of 32-bit unsigned integers in the platform byte order.\n*\n* @throws {Error} not implemented\n*/\nfunction polyfill() {\n\tthrow new Error( 'not implemented' );\n}\n\n\n// EXPORTS //\n\nexport default polyfill;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* @module @stdlib/constants-float32-pinf\n* @type {number}\n*\n* @example\n* import FLOAT32_PINF from '@stdlib/constants-float32-pinf';\n* // returns +infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point positive infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point positive infinity has the bit sequence\n*\n* ```binarystring\n* 0 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `2139095040` and to the HEX value `0x7f800000`.\n*\n* @constant\n* @type {number}\n* @default 0x7f800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_PINF = 0x7f800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_PINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float32-ninf\n* @type {number}\n*\n* @example\n* import FLOAT32_NINF from '@stdlib/constants-float32-ninf';\n* // returns -infinity\n*/\n\n// MODULES //\n\nimport Float32Array from '@stdlib/array-float32';\nimport Uint32Array from '@stdlib/array-uint32';\n\n\n// VARIABLES //\n\nvar FLOAT32_VIEW = new Float32Array( 1 );\nvar UINT32_VIEW = new Uint32Array( FLOAT32_VIEW.buffer );\nvar v;\n\n\n// MAIN //\n\n/**\n* Single-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Single-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111 00000000000000000000000\n* ```\n*\n* This bit sequence corresponds to the unsigned 32-bit integer `4286578688` and to the HEX value `0xff800000`.\n*\n* @constant\n* @type {number}\n* @default 0xff800000\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_NINF = 0xff800000;\n\n// Set the ArrayBuffer bit sequence:\nUINT32_VIEW[ 0 ] = FLOAT32_NINF;\n\nv = FLOAT32_VIEW[ 0 ];\n\n\n// EXPORTS //\n\nexport default v;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward negative infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = floor( -4.2 );\n* // returns -5.0\n*\n* @example\n* var v = floor( 9.99999 );\n* // returns 9.0\n*\n* @example\n* var v = floor( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = floor( NaN );\n* // returns NaN\n*/\nvar floor = Math.floor; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default floor;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @name defineProperty\n* @type {Function}\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nvar defineProperty = Object.defineProperty;\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' ); // NOTE: we inline the `isNumber.isPrimitive` function from `@stdlib/assert/is-number` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Tests if a string starts with a minus sign (`-`).\n*\n* @private\n* @param {string} str - input string\n* @returns {boolean} boolean indicating if a string starts with a minus sign (`-`)\n*/\nfunction startsWithMinus( str ) {\n\treturn str[ 0 ] === '-';\n}\n\n/**\n* Returns a string of `n` zeros.\n*\n* @private\n* @param {number} n - number of zeros\n* @returns {string} string of zeros\n*/\nfunction zeros( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += '0';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with zeros to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction zeroPad( str, width, right ) {\n\tvar negative = false;\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tif ( startsWithMinus( str ) ) {\n\t\tnegative = true;\n\t\tstr = str.substr( 1 );\n\t}\n\tstr = ( right ) ?\n\t\tstr + zeros( pad ) :\n\t\tzeros( pad ) + str;\n\tif ( negative ) {\n\t\tstr = '-' + str;\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default zeroPad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\nimport zeroPad from './zero_pad.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as an integer.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid integer\n* @returns {string} formatted token argument\n*/\nfunction formatInteger( token ) {\n\tvar base;\n\tvar out;\n\tvar i;\n\n\tswitch ( token.specifier ) {\n\tcase 'b':\n\t\t// Case: %b (binary)\n\t\tbase = 2;\n\t\tbreak;\n\tcase 'o':\n\t\t// Case: %o (octal)\n\t\tbase = 8;\n\t\tbreak;\n\tcase 'x':\n\tcase 'X':\n\t\t// Case: %x, %X (hexadecimal)\n\t\tbase = 16;\n\t\tbreak;\n\tcase 'd':\n\tcase 'i':\n\tcase 'u':\n\tdefault:\n\t\t// Case: %d, %i, %u (decimal)\n\t\tbase = 10;\n\t\tbreak;\n\t}\n\tout = token.arg;\n\ti = parseInt( out, 10 );\n\tif ( !isFinite( i ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( out ) ) {\n\t\t\tthrow new Error( 'invalid integer. Value: ' + out );\n\t\t}\n\t\ti = 0;\n\t}\n\tif ( i < 0 && ( token.specifier === 'u' || base !== 10 ) ) {\n\t\ti = 0xffffffff + i + 1;\n\t}\n\tif ( i < 0 ) {\n\t\tout = ( -i ).toString( base );\n\t\tif ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tout = '-' + out;\n\t} else {\n\t\tout = i.toString( base );\n\t\tif ( !i && !token.precision ) {\n\t\t\tout = '';\n\t\t} else if ( token.precision ) {\n\t\t\tout = zeroPad( out, token.precision, token.padRight );\n\t\t}\n\t\tif ( token.sign ) {\n\t\t\tout = token.sign + out;\n\t\t}\n\t}\n\tif ( base === 16 ) {\n\t\tif ( token.alternate ) {\n\t\t\tout = '0x' + out;\n\t\t}\n\t\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\t\tuppercase.call( out ) :\n\t\t\tlowercase.call( out );\n\t}\n\tif ( base === 8 ) {\n\t\tif ( token.alternate && out.charAt( 0 ) !== '0' ) {\n\t\t\tout = '0' + out;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isNumber from './is_number.js';\n\n// NOTE: for the following, we explicitly avoid using stdlib packages in this particular package in order to avoid circular dependencies.\nvar abs = Math.abs; // eslint-disable-line stdlib/no-builtin-math\nvar lowercase = String.prototype.toLowerCase;\nvar uppercase = String.prototype.toUpperCase;\nvar replace = String.prototype.replace;\n\n\n// VARIABLES //\n\nvar RE_EXP_POS_DIGITS = /e\\+(\\d)$/;\nvar RE_EXP_NEG_DIGITS = /e-(\\d)$/;\nvar RE_ONLY_DIGITS = /^(\\d+)$/;\nvar RE_DIGITS_BEFORE_EXP = /^(\\d+)e/;\nvar RE_TRAILING_PERIOD_ZERO = /\\.0$/;\nvar RE_PERIOD_ZERO_EXP = /\\.0*e/;\nvar RE_ZERO_BEFORE_EXP = /(\\..*[^0])0*e/;\n\n\n// MAIN //\n\n/**\n* Formats a token object argument as a floating-point number.\n*\n* @private\n* @param {Object} token - token object\n* @throws {Error} must provide a valid floating-point number\n* @returns {string} formatted token argument\n*/\nfunction formatDouble( token ) {\n\tvar digits;\n\tvar out;\n\tvar f = parseFloat( token.arg );\n\tif ( !isFinite( f ) ) { // NOTE: We use the global `isFinite` function here instead of `@stdlib/math/base/assert/is-finite` in order to avoid circular dependencies.\n\t\tif ( !isNumber( token.arg ) ) {\n\t\t\tthrow new Error( 'invalid floating-point number. Value: ' + out );\n\t\t}\n\t\t// Case: NaN, Infinity, or -Infinity\n\t\tf = token.arg;\n\t}\n\tswitch ( token.specifier ) {\n\tcase 'e':\n\tcase 'E':\n\t\tout = f.toExponential( token.precision );\n\t\tbreak;\n\tcase 'f':\n\tcase 'F':\n\t\tout = f.toFixed( token.precision );\n\t\tbreak;\n\tcase 'g':\n\tcase 'G':\n\t\tif ( abs( f ) < 0.0001 ) {\n\t\t\tdigits = token.precision;\n\t\t\tif ( digits > 0 ) {\n\t\t\t\tdigits -= 1;\n\t\t\t}\n\t\t\tout = f.toExponential( digits );\n\t\t} else {\n\t\t\tout = f.toPrecision( token.precision );\n\t\t}\n\t\tif ( !token.alternate ) {\n\t\t\tout = replace.call( out, RE_ZERO_BEFORE_EXP, '$1e' );\n\t\t\tout = replace.call( out, RE_PERIOD_ZERO_EXP, 'e' );\n\t\t\tout = replace.call( out, RE_TRAILING_PERIOD_ZERO, '' );\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tthrow new Error( 'invalid double notation. Value: ' + token.specifier );\n\t}\n\tout = replace.call( out, RE_EXP_POS_DIGITS, 'e+0$1' );\n\tout = replace.call( out, RE_EXP_NEG_DIGITS, 'e-0$1' );\n\tif ( token.alternate ) {\n\t\tout = replace.call( out, RE_ONLY_DIGITS, '$1.' );\n\t\tout = replace.call( out, RE_DIGITS_BEFORE_EXP, '$1.e' );\n\t}\n\tif ( f >= 0 && token.sign ) {\n\t\tout = token.sign + out;\n\t}\n\tout = ( token.specifier === uppercase.call( token.specifier ) ) ?\n\t\tuppercase.call( out ) :\n\t\tlowercase.call( out );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatDouble;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\n/**\n* Returns `n` spaces.\n*\n* @private\n* @param {number} n - number of spaces\n* @returns {string} string of spaces\n*/\nfunction spaces( n ) {\n\tvar out = '';\n\tvar i;\n\tfor ( i = 0; i < n; i++ ) {\n\t\tout += ' ';\n\t}\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Pads a token with spaces to the specified width.\n*\n* @private\n* @param {string} str - token argument\n* @param {number} width - token width\n* @param {boolean} [right=false] - boolean indicating whether to pad to the right\n* @returns {string} padded token argument\n*/\nfunction spacePad( str, width, right ) {\n\tvar pad = width - str.length;\n\tif ( pad < 0 ) {\n\t\treturn str;\n\t}\n\tstr = ( right ) ?\n\t\tstr + spaces( pad ) :\n\t\tspaces( pad ) + str;\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default spacePad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport formatInteger from './format_integer.js';\nimport isString from './is_string.js';\nimport formatDouble from './format_double.js';\nimport spacePad from './space_pad.js';\nimport zeroPad from './zero_pad.js';\n\n\n// VARIABLES //\n\nvar fromCharCode = String.fromCharCode;\nvar isArray = Array.isArray; // NOTE: We use the global `Array.isArray` function here instead of `@stdlib/assert/is-array` to avoid circular dependencies.\n\n\n// FUNCTIONS //\n\n/**\n* Returns a boolean indicating whether a value is `NaN`.\n*\n* @private\n* @param {*} value - input value\n* @returns {boolean} boolean indicating whether a value is `NaN`\n*\n* @example\n* var bool = isnan( NaN );\n* // returns true\n*\n* @example\n* var bool = isnan( 4 );\n* // returns false\n*/\nfunction isnan( value ) { // explicitly define a function here instead of `@stdlib/math/base/assert/is-nan` in order to avoid circular dependencies\n\treturn ( value !== value );\n}\n\n/**\n* Initializes token object with properties of supplied format identifier object or default values if not present.\n*\n* @private\n* @param {Object} token - format identifier object\n* @returns {Object} token object\n*/\nfunction initialize( token ) {\n\tvar out = {};\n\tout.specifier = token.specifier;\n\tout.precision = ( token.precision === void 0 ) ? 1 : token.precision;\n\tout.width = token.width;\n\tout.flags = token.flags || '';\n\tout.mapping = token.mapping;\n\treturn out;\n}\n\n\n// MAIN //\n\n/**\n* Generates string from a token array by interpolating values.\n*\n* @param {Array} tokens - string parts and format identifier objects\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be an array\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var tokens = [ 'beep ', { 'specifier': 's' } ];\n* var out = formatInterpolate( tokens, 'boop' );\n* // returns 'beep boop'\n*/\nfunction formatInterpolate( tokens ) {\n\tvar hasPeriod;\n\tvar flags;\n\tvar token;\n\tvar flag;\n\tvar num;\n\tvar out;\n\tvar pos;\n\tvar i;\n\tvar j;\n\n\tif ( !isArray( tokens ) ) {\n\t\tthrow new TypeError( 'invalid argument. First argument must be an array. Value: `' + tokens + '`.' );\n\t}\n\tout = '';\n\tpos = 1;\n\tfor ( i = 0; i < tokens.length; i++ ) {\n\t\ttoken = tokens[ i ];\n\t\tif ( isString( token ) ) {\n\t\t\tout += token;\n\t\t} else {\n\t\t\thasPeriod = token.precision !== void 0;\n\t\t\ttoken = initialize( token );\n\t\t\tif ( !token.specifier ) {\n\t\t\t\tthrow new TypeError( 'invalid argument. Token is missing `specifier` property. Index: `'+ i +'`. Value: `' + token + '`.' );\n\t\t\t}\n\t\t\tif ( token.mapping ) {\n\t\t\t\tpos = token.mapping;\n\t\t\t}\n\t\t\tflags = token.flags;\n\t\t\tfor ( j = 0; j < flags.length; j++ ) {\n\t\t\t\tflag = flags.charAt( j );\n\t\t\t\tswitch ( flag ) {\n\t\t\t\tcase ' ':\n\t\t\t\t\ttoken.sign = ' ';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '+':\n\t\t\t\t\ttoken.sign = '+';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '0':\n\t\t\t\t\ttoken.padZeros = flags.indexOf( '-' ) < 0; // NOTE: We use built-in `Array.prototype.indexOf` here instead of `@stdlib/assert/contains` in order to avoid circular dependencies.\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\ttoken.alternate = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'invalid flag: ' + flag );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( token.width === '*' ) {\n\t\t\t\ttoken.width = parseInt( arguments[ pos ], 10 );\n\t\t\t\tpos += 1;\n\t\t\t\tif ( isnan( token.width ) ) {\n\t\t\t\t\tthrow new TypeError( 'the argument for * width at position ' + pos + ' is not a number. Value: `' + token.width + '`.' );\n\t\t\t\t}\n\t\t\t\tif ( token.width < 0 ) {\n\t\t\t\t\ttoken.padRight = true;\n\t\t\t\t\ttoken.width = -token.width;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( hasPeriod ) {\n\t\t\t\tif ( token.precision === '*' ) {\n\t\t\t\t\ttoken.precision = parseInt( arguments[ pos ], 10 );\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tif ( isnan( token.precision ) ) {\n\t\t\t\t\t\tthrow new TypeError( 'the argument for * precision at position ' + pos + ' is not a number. Value: `' + token.precision + '`.' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( token.precision < 0 ) {\n\t\t\t\t\t\ttoken.precision = 1;\n\t\t\t\t\t\thasPeriod = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoken.arg = arguments[ pos ];\n\t\t\tswitch ( token.specifier ) {\n\t\t\tcase 'b':\n\t\t\tcase 'o':\n\t\t\tcase 'x':\n\t\t\tcase 'X':\n\t\t\tcase 'd':\n\t\t\tcase 'i':\n\t\t\tcase 'u':\n\t\t\t\t// Case: %b (binary), %o (octal), %x, %X (hexadecimal), %d, %i (decimal), %u (unsigned decimal)\n\t\t\t\tif ( hasPeriod ) {\n\t\t\t\t\ttoken.padZeros = false;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatInteger( token );\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\t// Case: %s (string)\n\t\t\t\ttoken.maxWidth = ( hasPeriod ) ? token.precision : -1;\n\t\t\t\ttoken.arg = String( token.arg );\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\t// Case: %c (character)\n\t\t\t\tif ( !isnan( token.arg ) ) {\n\t\t\t\t\tnum = parseInt( token.arg, 10 );\n\t\t\t\t\tif ( num < 0 || num > 127 ) {\n\t\t\t\t\t\tthrow new Error( 'invalid character code. Value: ' + token.arg );\n\t\t\t\t\t}\n\t\t\t\t\ttoken.arg = ( isnan( num ) ) ? String( token.arg ) : fromCharCode( num ); // eslint-disable-line max-len\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'e':\n\t\t\tcase 'E':\n\t\t\tcase 'f':\n\t\t\tcase 'F':\n\t\t\tcase 'g':\n\t\t\tcase 'G':\n\t\t\t\t// Case: %e, %E (scientific notation), %f, %F (decimal floating point), %g, %G (uses the shorter of %e/E or %f/F)\n\t\t\t\tif ( !hasPeriod ) {\n\t\t\t\t\ttoken.precision = 6;\n\t\t\t\t}\n\t\t\t\ttoken.arg = formatDouble( token );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'invalid specifier: ' + token.specifier );\n\t\t\t}\n\t\t\t// Fit argument into field width...\n\t\t\tif ( token.maxWidth >= 0 && token.arg.length > token.maxWidth ) {\n\t\t\t\ttoken.arg = token.arg.substring( 0, token.maxWidth );\n\t\t\t}\n\t\t\tif ( token.padZeros ) {\n\t\t\t\ttoken.arg = zeroPad( token.arg, token.width || token.precision, token.padRight ); // eslint-disable-line max-len\n\t\t\t} else if ( token.width ) {\n\t\t\t\ttoken.arg = spacePad( token.arg, token.width, token.padRight );\n\t\t\t}\n\t\t\tout += token.arg || '';\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nexport default formatInterpolate;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar RE = /%(?:([1-9]\\d*)\\$)?([0 +\\-#]*)(\\*|\\d+)?(?:(\\.)(\\*|\\d+)?)?[hlL]?([%A-Za-z])/g;\n\n\n// FUNCTIONS //\n\n/**\n* Parses a delimiter.\n*\n* @private\n* @param {Array} match - regular expression match\n* @returns {Object} delimiter token object\n*/\nfunction parse( match ) {\n\tvar token = {\n\t\t'mapping': ( match[ 1 ] ) ? parseInt( match[ 1 ], 10 ) : void 0,\n\t\t'flags': match[ 2 ],\n\t\t'width': match[ 3 ],\n\t\t'precision': match[ 5 ],\n\t\t'specifier': match[ 6 ]\n\t};\n\tif ( match[ 4 ] === '.' && match[ 5 ] === void 0 ) {\n\t\ttoken.precision = '1';\n\t}\n\treturn token;\n}\n\n\n// MAIN //\n\n/**\n* Tokenizes a string into an array of string parts and format identifier objects.\n*\n* @param {string} str - input string\n* @returns {Array} tokens\n*\n* @example\n* var tokens = formatTokenize( 'Hello %s!' );\n* // returns [ 'Hello ', {...}, '!' ]\n*/\nfunction formatTokenize( str ) {\n\tvar content;\n\tvar tokens;\n\tvar match;\n\tvar prev;\n\n\ttokens = [];\n\tprev = 0;\n\tmatch = RE.exec( str );\n\twhile ( match ) {\n\t\tcontent = str.slice( prev, RE.lastIndex - match[ 0 ].length );\n\t\tif ( content.length ) {\n\t\t\ttokens.push( content );\n\t\t}\n\t\ttokens.push( parse( match ) );\n\t\tprev = RE.lastIndex;\n\t\tmatch = RE.exec( str );\n\t}\n\tcontent = str.slice( prev );\n\tif ( content.length ) {\n\t\ttokens.push( content );\n\t}\n\treturn tokens;\n}\n\n\n// EXPORTS //\n\nexport default formatTokenize;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport interpolate from '@stdlib/string-base-format-interpolate';\nimport tokenize from '@stdlib/string-base-format-tokenize';\nimport isString from './is_string.js';\n\n\n// MAIN //\n\n/**\n* Inserts supplied variable values into a format string.\n*\n* @param {string} str - input string\n* @param {Array} ...args - variable values\n* @throws {TypeError} first argument must be a string\n* @throws {Error} invalid flags\n* @returns {string} formatted string\n*\n* @example\n* var str = format( 'Hello %s!', 'world' );\n* // returns 'Hello world!'\n*\n* @example\n* var str = format( 'Pi: ~%.2f', 3.141592653589793 );\n* // returns 'Pi: ~3.14'\n*/\nfunction format( str ) {\n\tvar args;\n\tvar i;\n\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\targs = [ tokenize( str ) ];\n\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\targs.push( arguments[ i ] );\n\t}\n\treturn interpolate.apply( null, args );\n}\n\n\n// EXPORTS //\n\nexport default format;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' ); // NOTE: we inline the `isString.isPrimitive` function from `@stdlib/assert/is-string` in order to avoid circular dependencies.\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle, no-proto */\n\n'use strict';\n\n// MODULES //\n\nimport format from '@stdlib/string-format';\n\n\n// VARIABLES //\n\nvar objectProtoype = Object.prototype;\nvar toStr = objectProtoype.toString;\nvar defineGetter = objectProtoype.__defineGetter__;\nvar defineSetter = objectProtoype.__defineSetter__;\nvar lookupGetter = objectProtoype.__lookupGetter__;\nvar lookupSetter = objectProtoype.__lookupSetter__;\n\n\n// MAIN //\n\n/**\n* Defines (or modifies) an object property.\n*\n* ## Notes\n*\n* - Property descriptors come in two flavors: **data descriptors** and **accessor descriptors**. A data descriptor is a property that has a value, which may or may not be writable. An accessor descriptor is a property described by a getter-setter function pair. A descriptor must be one of these two flavors and cannot be both.\n*\n* @param {Object} obj - object on which to define the property\n* @param {string} prop - property name\n* @param {Object} descriptor - property descriptor\n* @param {boolean} [descriptor.configurable=false] - boolean indicating if property descriptor can be changed and if the property can be deleted from the provided object\n* @param {boolean} [descriptor.enumerable=false] - boolean indicating if the property shows up when enumerating object properties\n* @param {boolean} [descriptor.writable=false] - boolean indicating if the value associated with the property can be changed with an assignment operator\n* @param {*} [descriptor.value] - property value\n* @param {(Function|void)} [descriptor.get=undefined] - function which serves as a getter for the property, or, if no getter, undefined. When the property is accessed, a getter function is called without arguments and with the `this` context set to the object through which the property is accessed (which may not be the object on which the property is defined due to inheritance). The return value will be used as the property value.\n* @param {(Function|void)} [descriptor.set=undefined] - function which serves as a setter for the property, or, if no setter, undefined. When assigning a property value, a setter function is called with one argument (the value being assigned to the property) and with the `this` context set to the object through which the property is assigned.\n* @throws {TypeError} first argument must be an object\n* @throws {TypeError} third argument must be an object\n* @throws {Error} property descriptor cannot have both a value and a setter and/or getter\n* @returns {Object} object with added property\n*\n* @example\n* var obj = {};\n*\n* defineProperty( obj, 'foo', {\n* 'value': 'bar'\n* });\n*\n* var str = obj.foo;\n* // returns 'bar'\n*/\nfunction defineProperty( obj, prop, descriptor ) {\n\tvar prototype;\n\tvar hasValue;\n\tvar hasGet;\n\tvar hasSet;\n\n\tif ( typeof obj !== 'object' || obj === null || toStr.call( obj ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) );\n\t}\n\tif ( typeof descriptor !== 'object' || descriptor === null || toStr.call( descriptor ) === '[object Array]' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Property descriptor must be an object. Value: `%s`.', descriptor ) );\n\t}\n\thasValue = ( 'value' in descriptor );\n\tif ( hasValue ) {\n\t\tif (\n\t\t\tlookupGetter.call( obj, prop ) ||\n\t\t\tlookupSetter.call( obj, prop )\n\t\t) {\n\t\t\t// Override `__proto__` to avoid touching inherited accessors:\n\t\t\tprototype = obj.__proto__;\n\t\t\tobj.__proto__ = objectProtoype;\n\n\t\t\t// Delete property as existing getters/setters prevent assigning value to specified property:\n\t\t\tdelete obj[ prop ];\n\t\t\tobj[ prop ] = descriptor.value;\n\n\t\t\t// Restore original prototype:\n\t\t\tobj.__proto__ = prototype;\n\t\t} else {\n\t\t\tobj[ prop ] = descriptor.value;\n\t\t}\n\t}\n\thasGet = ( 'get' in descriptor );\n\thasSet = ( 'set' in descriptor );\n\n\tif ( hasValue && ( hasGet || hasSet ) ) {\n\t\tthrow new Error( 'invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor.' );\n\t}\n\n\tif ( hasGet && defineGetter ) {\n\t\tdefineGetter.call( obj, prop, descriptor.get );\n\t}\n\tif ( hasSet && defineSetter ) {\n\t\tdefineSetter.call( obj, prop, descriptor.set );\n\t}\n\treturn obj;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Define (or modify) an object property.\n*\n* @module @stdlib/utils-define-property\n*\n* @example\n* import defineProperty from '@stdlib/utils-define-property';\n*\n* var obj = {};\n* defineProperty( obj, 'foo', {\n* 'value': 'bar',\n* 'writable': false,\n* 'configurable': false,\n* 'enumerable': false\n* });\n* obj.foo = 'boop'; // => throws\n*/\n\n// MODULES //\n\nimport hasDefinePropertySupport from './has_define_property_support.js';\nimport builtin from './builtin.js';\nimport polyfill from './polyfill.js';\n\n\n// MAIN //\n\nvar defineProperty;\nif ( hasDefinePropertySupport() ) {\n\tdefineProperty = builtin;\n} else {\n\tdefineProperty = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default defineProperty;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from './define_property.js';\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default hasDefinePropertySupport;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport defineProperty from '@stdlib/utils-define-property';\n\n\n// MAIN //\n\n/**\n* Defines a non-enumerable read-only property.\n*\n* @param {Object} obj - object on which to define the property\n* @param {(string|symbol)} prop - property name\n* @param {*} value - value to set\n*\n* @example\n* var obj = {};\n*\n* setNonEnumerableReadOnly( obj, 'foo', 'bar' );\n*\n* try {\n* obj.foo = 'boop';\n* } catch ( err ) {\n* console.error( err.message );\n* }\n*/\nfunction setNonEnumerableReadOnly( obj, prop, value ) {\n\tdefineProperty( obj, prop, {\n\t\t'configurable': false,\n\t\t'enumerable': false,\n\t\t'writable': false,\n\t\t'value': value\n\t});\n}\n\n\n// EXPORTS //\n\nexport default setNonEnumerableReadOnly;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nexport default Number; // eslint-disable-line stdlib/require-globals\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nexport default toString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport Number from '@stdlib/number-ctor';\nimport test from './try2serialize.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport toString from './tostring.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNumber;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert-is-number\n*\n* @example\n* import isNumber from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNumber } from '@stdlib/assert-is-number';\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* @module @stdlib/constants-float64-ninf\n* @type {number}\n*\n* @example\n* import FLOAT64_NINF from '@stdlib/constants-float64-ninf';\n* // returns -Infinity\n*/\n\n// MODULES //\n\nimport Number from '@stdlib/number-ctor';\n\n\n// MAIN //\n\n/**\n* Double-precision floating-point negative infinity.\n*\n* ## Notes\n*\n* Double-precision floating-point negative infinity has the bit sequence\n*\n* ```binarystring\n* 1 11111111111 00000000000000000000 00000000000000000000000000000000\n* ```\n*\n* @constant\n* @type {number}\n* @default Number.NEGATIVE_INFINITY\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_NINF = Number.NEGATIVE_INFINITY;\n\n\n// EXPORTS //\n\nexport default FLOAT64_NINF;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float64-pinf';\nimport NINF from '@stdlib/constants-float64-ninf';\nimport isInt from '@stdlib/math-base-assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Tests if a finite double-precision floating-point number is an integer.\n*\n* @param {number} x - value to test\n* @returns {boolean} boolean indicating whether the value is an integer\n*\n* @example\n* var bool = isInteger( 1.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( 3.14 );\n* // returns false\n*/\nfunction isInteger( x ) {\n\treturn (floor(x) === x);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isNumber } from '@stdlib/assert-is-number';\nimport isInt from './integer.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isObject as isInteger } from '@stdlib/assert-is-integer';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isNonNegativeInteger;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert-is-integer\n*\n* @example\n* import isInteger from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* import { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* import { isObject as isInteger } from '@stdlib/assert-is-integer';\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert-is-nonnegative-integer\n*\n* @example\n* import isNonNegativeInteger from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* import { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* import { isObject as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nexport default valueOf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport hasToStringTag from '@stdlib/assert-has-tostringtag-support';\nimport nativeClass from '@stdlib/utils-native-class';\nimport test from './try2valueof.js';\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport valueOf from './valueof.js'; // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nexport default test;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nexport default isString;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert-is-string\n*\n* @example\n* import isString from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* import { isObject as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* import { isPrimitive as isString } from '@stdlib/assert-is-string';\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport main from './main.js';\nimport isPrimitive from './primitive.js';\nimport isObject from './object.js';\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nexport default main;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* @module @stdlib/constants-float64-max-safe-integer\n* @type {number}\n*\n* @example\n* import FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\n* // returns 9007199254740991\n*/\n\n\n// MAIN //\n\n/**\n* Maximum safe double-precision floating-point integer.\n*\n* ## Notes\n*\n* The integer has the value\n*\n* ```tex\n* 2^{53} - 1\n* ```\n*\n* @constant\n* @type {number}\n* @default 9007199254740991\n* @see [Safe Integers]{@link http://www.2ality.com/2013/10/safe-integers.html}\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT64_MAX_SAFE_INTEGER = 9007199254740991;\n\n\n// EXPORTS //\n\nexport default FLOAT64_MAX_SAFE_INTEGER;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar bool = ( typeof String.prototype.repeat !== 'undefined' );\n\n\n// EXPORTS //\n\nexport default bool;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar repeat = String.prototype.repeat;\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Repeat a string a specified number of times and return the concatenated result.\n*\n* @module @stdlib/string-base-repeat\n*\n* @example\n* import replace from '@stdlib/string-base-repeat';\n*\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* str = repeat( '', 100 );\n* // returns ''\n*\n* str = repeat( 'beep', 0 );\n* // returns ''\n*/\n\n// MODULES //\n\nimport HAS_BUILTIN from './has_builtin.js';\nimport polyfill from './polyfill.js';\nimport main from './main.js';\n\n\n// MAIN //\n\nvar repeat;\nif ( HAS_BUILTIN ) {\n\trepeat = main;\n} else {\n\trepeat = polyfill;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport builtin from './builtin.js';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\treturn builtin.call( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* ## Method\n*\n* The algorithmic trick used in the implementation is to treat string concatenation the same as binary addition (i.e., any natural number (nonnegative integer) can be expressed as a sum of powers of two).\n*\n* For example,\n*\n* ```text\n* n = 10 => 1010 => 2^3 + 2^0 + 2^1 + 2^0\n* ```\n*\n* We can produce a 10-repeat string by \"adding\" the results of a 8-repeat string and a 2-repeat string.\n*\n* The implementation is then as follows:\n*\n* 1. Let `s` be the string to be repeated and `o` be an output string.\n*\n* 2. Initialize an output string `o`.\n*\n* 3. Check the least significant bit to determine if the current `s` string should be \"added\" to the output \"total\".\n*\n* - if the bit is a one, add\n* - otherwise, move on\n*\n* 4. Double the string `s` by adding `s` to `s`.\n*\n* 5. Right-shift the bits of `n`.\n*\n* 6. Check if we have shifted off all bits.\n*\n* - if yes, done.\n* - otherwise, move on\n*\n* 7. Repeat 3-6.\n*\n* The result is that, as the string is repeated, we continually check to see if the doubled string is one which we want to add to our \"total\".\n*\n* The algorithm runs in `O(log_2(n))` compared to `O(n)`.\n*\n* @private\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tvar rpt;\n\tvar cnt;\n\tif ( str.length === 0 || n === 0 ) {\n\t\treturn '';\n\t}\n\trpt = '';\n\tcnt = n;\n\tfor ( ; ; ) {\n\t\t// If the count is odd, append the current concatenated string:\n\t\tif ( (cnt&1) === 1 ) {\n\t\t\trpt += str;\n\t\t}\n\t\t// Right-shift the bits:\n\t\tcnt >>>= 1;\n\t\tif ( cnt === 0 ) {\n\t\t\tbreak;\n\t\t}\n\t\t// Double the string:\n\t\tstr += str;\n\t}\n\treturn rpt;\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// TODO: implementation (?)\n\n/**\n* Rounds a double-precision floating-point number toward positive infinity.\n*\n* @param {number} x - input value\n* @returns {number} rounded value\n*\n* @example\n* var v = ceil( -4.2 );\n* // returns -4.0\n*\n* @example\n* var v = ceil( 9.99999 );\n* // returns 10.0\n*\n* @example\n* var v = ceil( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = ceil( NaN );\n* // returns NaN\n*/\nvar ceil = Math.ceil; // eslint-disable-line stdlib/no-builtin-math\n\n\n// EXPORTS //\n\nexport default ceil;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-right-pad';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5 );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'p' );\n* // returns 'beeppppppp'\n*\n* @example\n* var str = rpad( 'beep', 12, 'boop' );\n* // returns 'beepboopboop'\n*/\nfunction rpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Pad string must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Right pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = rpad( 'a', 5, ' ' );\n* // returns 'a '\n*\n* @example\n* var str = rpad( 'beep', 10, 'b' );\n* // returns 'beepbbbbbb'\n*\n* @example\n* var str = rpad( 'boop', 12, 'beep' );\n* // returns 'boopbeepbeep'\n*/\nfunction rpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn str + repeat( pad, n );\n}\n\n\n// EXPORTS //\n\nexport default rpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport FLOAT64_MAX_SAFE_INTEGER from '@stdlib/constants-float64-max-safe-integer';\nimport base from '@stdlib/string-base-left-pad';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} [pad=' '] - string used to pad\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {TypeError} third argument must be a string\n* @throws {RangeError} padding must have a length greater than `0`\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5 );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar p;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( len ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', len ) );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tp = pad;\n\t\tif ( !isString( p ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be a string. Value: `%s`.', p ) );\n\t\t}\n\t\tif ( p.length === 0 ) {\n\t\t\tthrow new RangeError( 'invalid argument. Third argument must not be an empty string.' );\n\t\t}\n\t} else {\n\t\tp = ' ';\n\t}\n\tif ( len > FLOAT64_MAX_SAFE_INTEGER ) {\n\t\tthrow new RangeError( format( 'invalid argument. Output string length exceeds maximum allowed string length. Value: `%u`.', len ) );\n\t}\n\treturn base( str, len, p );\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport repeat from '@stdlib/string-base-repeat';\nimport ceil from '@stdlib/math-base-special-ceil';\n\n\n// MAIN //\n\n/**\n* Left pads a string such that the padded string has a length of at least `len`.\n*\n* @param {string} str - string to pad\n* @param {NonNegativeInteger} len - minimum string length\n* @param {string} pad - string used to pad\n* @returns {string} padded string\n*\n* @example\n* var str = lpad( 'a', 5, ' ' );\n* // returns ' a'\n*\n* @example\n* var str = lpad( 'beep', 10, 'b' );\n* // returns 'bbbbbbbeep'\n*\n* @example\n* var str = lpad( 'boop', 12, 'beep' );\n* // returns 'beepbeepboop'\n*/\nfunction lpad( str, len, pad ) {\n\tvar n = ( len - str.length ) / pad.length;\n\tif ( n <= 0 ) {\n\t\treturn str;\n\t}\n\tn = ceil( n );\n\treturn repeat( pad, n ) + str;\n}\n\n\n// EXPORTS //\n\nexport default lpad;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport { isPrimitive as isNonNegativeInteger } from '@stdlib/assert-is-nonnegative-integer';\nimport { isPrimitive as isString } from '@stdlib/assert-is-string';\nimport format from '@stdlib/string-format';\nimport base from '@stdlib/string-base-repeat';\n\n\n// MAIN //\n\n/**\n* Repeats a string a specified number of times and returns the concatenated result.\n*\n* @param {string} str - string to repeat\n* @param {NonNegativeInteger} n - number of times to repeat the string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} output string length must not exceed maximum allowed string length\n* @returns {string} repeated string\n*\n* @example\n* var str = repeat( 'a', 5 );\n* // returns 'aaaaa'\n*\n* @example\n* var str = repeat( '', 100 );\n* // returns ''\n*\n* @example\n* var str = repeat( 'beep', 0 );\n* // returns ''\n*/\nfunction repeat( str, n ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( n ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%s`.', n ) );\n\t}\n\treturn base( str, n );\n}\n\n\n// EXPORTS //\n\nexport default repeat;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport floor from '@stdlib/math-base-special-floor';\n\n\n// MAIN //\n\n/**\n* Converts a nonnegative integer to a literal bit representation using the divide-by-2 algorithm.\n*\n* @private\n* @param {NonNegativeInteger} x - nonnegative integer\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = div2( 3 );\n* // returns '11'\n*\n* @example\n* var v = div2( 0 );\n* // returns ''\n*\n* @example\n* var v = div2( 12 );\n* // returns '1100'\n*\n* @example\n* var v = div2( 188 );\n* // returns '10111100'\n*/\nfunction div2( x ) {\n\tvar str = '';\n\tvar y;\n\n\t// We repeatedly divide by 2 and check for a remainder. If a remainder exists, the number is odd and we add a '1' bit...\n\twhile ( x > 0 ) {\n\t\ty = x / 2.0;\n\t\tx = floor( y );\n\t\tif ( y === x ) {\n\t\t\tstr = '0' + str;\n\t\t} else {\n\t\t\tstr = '1' + str;\n\t\t}\n\t}\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default div2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar MAX_ITER = 149; // 127+22 (subnormals) => BIAS+NUM_SIGNFICAND_BITS-1\nvar MAX_BITS = 24; // only 23 bits for fraction\n\n\n// MAIN //\n\n/**\n* Converts a fraction to a literal bit representation using the multiply-by-2 algorithm.\n*\n* @private\n* @param {number} x - number less than 1\n* @returns {BinaryString} bit representation\n*\n* @example\n* var v = mult2( 0.234375 );\n* // returns '001111'\n*\n* @example\n* var v = mult2( 0.0 );\n* // returns ''\n*/\nfunction mult2( x ) {\n\tvar str;\n\tvar y;\n\tvar i;\n\tvar j;\n\n\tstr = '';\n\tif ( x === 0.0 ) {\n\t\treturn str;\n\t}\n\tj = MAX_ITER;\n\n\t// Each time we multiply by 2 and find a ones digit, add a '1'; otherwise, add a '0'..\n\tfor ( i = 0; i < MAX_ITER; i++ ) {\n\t\ty = x * 2.0;\n\t\tif ( y >= 1.0 ) {\n\t\t\tx = y - 1.0;\n\t\t\tstr += '1';\n\t\t\tif ( j === MAX_ITER ) {\n\t\t\t\tj = i; // first '1'\n\t\t\t}\n\t\t} else {\n\t\t\tx = y;\n\t\t\tstr += '0';\n\t\t}\n\t\t// Stop when we have no more decimals to process or in the event we found a fraction which cannot be represented in a finite number of bits...\n\t\tif ( y === 1.0 || i-j > MAX_BITS ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn str;\n}\n\n\n// EXPORTS //\n\nexport default mult2;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nimport PINF from '@stdlib/constants-float32-pinf';\nimport NINF from '@stdlib/constants-float32-ninf';\nimport BIAS from '@stdlib/constants-float32-exponent-bias';\nimport abs from '@stdlib/math-base-special-abs';\nimport floor from '@stdlib/math-base-special-floor';\nimport rpad from '@stdlib/string-right-pad';\nimport lpad from '@stdlib/string-left-pad';\nimport repeat from '@stdlib/string-repeat';\nimport div2 from './div2.js';\nimport mult2 from './mult2.js';\n\n\n// VARIABLES //\n\n// TODO: consider placing in external modules\nvar NUM_SIGNIFICAND_BITS = 23;\nvar NUM_EXPONENT_BITS = 8;\n\n\n// MAIN //\n\n/**\n* Returns a string giving the literal bit representation of a single-precision floating-point number.\n*\n* @param {number} x - input value\n* @returns {BinaryString} bit representation\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 4.0 ) );\n* // returns '01000000100000000000000000000000'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 3.141592653589793 ) );\n* // returns '01000000010010010000111111011011'\n*\n* @example\n* var str = toBinaryStringf( toFloat32( -1e38 ) );\n* // returns '11111110100101100111011010011001'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( -3.14e-39 ) );\n* // returns '10000000001000100011000100001011'\n*\n* @example\n* import toFloat32 from '@stdlib/number-float64-base-to-float32';\n* var str = toBinaryStringf( toFloat32( 1.4e-45 ) );\n* // returns '00000000000000000000000000000001'\n*\n* @example\n* var str = toBinaryStringf( 0.0 );\n* // returns '00000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( -0.0 );\n* // returns '10000000000000000000000000000000'\n*\n* @example\n* var str = toBinaryStringf( NaN );\n* // returns '01111111110000000000000000000000'\n*\n* @example\n* import PINF from '@stdlib/constants-float32-pinf';\n* var str = toBinaryStringf( PINF );\n* // returns '01111111100000000000000000000000'\n*\n* @example\n* import NINF from '@stdlib/constants-float32-ninf';\n* var str = toBinaryStringf( NINF );\n* // returns '11111111100000000000000000000000'\n*/\nfunction toBinaryStringf( x ) {\n\tvar nbits;\n\tvar sign;\n\tvar str;\n\tvar exp;\n\tvar n;\n\tvar f;\n\tvar i;\n\n\t// Check for a negative value or negative zero...\n\tif ( x < 0.0 || 1.0/x === NINF ) {\n\t\tsign = '1';\n\t} else {\n\t\tsign = '0';\n\t}\n\t// Special case: +-infinity\n\tif ( x === PINF || x === NINF ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: NaN\n\tif ( x !== x ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '1', NUM_EXPONENT_BITS ); // all 1s\n\t\tstr = '1' + repeat( '0', NUM_SIGNIFICAND_BITS-1 ); // can't be all 0s\n\t\treturn sign + exp + str;\n\t}\n\t// Special case: +-0\n\tif ( x === 0.0 ) {\n\t\t// Based on IEEE 754-2008...\n\t\texp = repeat( '0', NUM_EXPONENT_BITS ); // all 0s\n\t\tstr = repeat( '0', NUM_SIGNIFICAND_BITS ); // all 0s\n\t\treturn sign + exp + str;\n\t}\n\tx = abs( x );\n\n\t// Isolate the integer part (digits before the decimal):\n\tn = floor( x );\n\n\t// Isolate the fractional part (digits after the decimal):\n\tf = x - n;\n\n\t// Convert the integer and fractional parts to bit strings:\n\tn = div2( n );\n\tf = mult2( f );\n\n\t// Determine the exponent needed to normalize the integer+fractional parts...\n\tif ( n ) {\n\t\t// Move the decimal `d` digits to the left:\n\t\texp = n.length - 1;\n\t} else {\n\t\t// Find the first '1' bit...\n\t\tfor ( i = 0; i < f.length; i++ ) {\n\t\t\tif ( f[ i ] === '1' ) {\n\t\t\t\tnbits = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Move the decimal `d` digits to the right:\n\t\texp = -nbits;\n\t}\n\t// Normalize the combined integer+fractional string...\n\tstr = n + f;\n\tif ( exp < 0 ) {\n\t\t// Handle subnormals...\n\t\tif ( exp <= -BIAS ) {\n\t\t\t// Cap the number of bits removed:\n\t\t\tnbits = BIAS - 1;\n\t\t}\n\t\t// Remove all leading zeros and the first '1' for normal values, and, for subnormals, remove at most BIAS-1 leading bits:\n\t\tstr = str.substring( nbits );\n\t} else {\n\t\t// Remove the leading '1' (implicit/hidden bit):\n\t\tstr = str.substring( 1 );\n\t}\n\t// Convert the exponent to a bit string:\n\texp = div2( exp + BIAS );\n\texp = lpad( exp, NUM_EXPONENT_BITS, '0' );\n\n\t// Fill in any trailing zeros and ensure we have only 23 fraction bits:\n\tstr = rpad( str, NUM_SIGNIFICAND_BITS, '0' ).substring( 0, NUM_SIGNIFICAND_BITS );\n\n\t// Return a bit representation:\n\treturn sign + exp + str;\n}\n\n\n// EXPORTS //\n\nexport default toBinaryStringf;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Computes the absolute value of a double-precision floating-point number `x`.\n*\n* @param {number} x - input value\n* @returns {number} absolute value\n*\n* @example\n* var v = abs( -1.0 );\n* // returns 1.0\n*\n* @example\n* var v = abs( 2.0 );\n* // returns 2.0\n*\n* @example\n* var v = abs( 0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( -0.0 );\n* // returns 0.0\n*\n* @example\n* var v = abs( NaN );\n* // returns NaN\n*/\nfunction abs( x ) {\n\treturn Math.abs( x ); // eslint-disable-line stdlib/no-builtin-math\n}\n\n\n// EXPORTS //\n\nexport default abs;\n","/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* @module @stdlib/constants-float32-exponent-bias\n* @type {integer32}\n*\n* @example\n* import FLOAT32_EXPONENT_BIAS from '@stdlib/constants-float32-exponent-bias';\n* // returns 127\n*/\n\n\n// MAIN //\n\n/**\n* The bias of a single-precision floating-point number's exponent.\n*\n* ## Notes\n*\n* The bias can be computed via\n*\n* ```tex\n* \\mathrm{bias} = 2^{k-1} - 1\n* ```\n*\n* where \\\\(k\\\\) is the number of bits in the exponent; here, \\\\(k = 8\\\\).\n*\n* @constant\n* @type {integer32}\n* @default 127\n* @see [IEEE 754]{@link https://en.wikipedia.org/wiki/IEEE_754-1985}\n*/\nvar FLOAT32_EXPONENT_BIAS = 127|0; // asm type annotation\n\n\n// EXPORTS //\n\nexport default FLOAT32_EXPONENT_BIAS;\n"],"names":["FLG","Symbol","hasToStringTagSupport","toStringTag","toStr","Object","prototype","toString","has","hasOwnProperty","main","Sym","toStrTag","hasToStringTag","v","isOwn","tag","out","value","property","call","err","nativeClass","hasFloat32Array","Float32Array","FLOAT64_PINF","Number","POSITIVE_INFINITY","ctor","bool","arr","GlobalFloat32Array","PINF","hasFloat32ArraySupport","builtin","Error","Float32Array$1","hasUint32Array","Uint32Array","GlobalUint32Array","UINT32_MAX","hasUint32ArraySupport","Uint32Array$1","FLOAT32_VIEW","buffer","NINF","floor","Math","defineProperty","isNumber","zeros","n","i","zeroPad","str","width","right","negative","pad","length","startsWithMinus","substr","lowercase","String","toLowerCase","uppercase","toUpperCase","formatInteger","token","base","specifier","arg","parseInt","isFinite","precision","padRight","sign","alternate","charAt","abs","replace","RE_EXP_POS_DIGITS","RE_EXP_NEG_DIGITS","RE_ONLY_DIGITS","RE_DIGITS_BEFORE_EXP","RE_TRAILING_PERIOD_ZERO","RE_PERIOD_ZERO_EXP","RE_ZERO_BEFORE_EXP","formatDouble","digits","f","parseFloat","toExponential","toFixed","toPrecision","spaces","fromCharCode","isArray","Array","isnan","initialize","flags","mapping","formatInterpolate","tokens","hasPeriod","flag","num","pos","j","TypeError","padZeros","indexOf","arguments","maxWidth","substring","RE","parse","match","formatTokenize","content","prev","exec","slice","lastIndex","push","format","args","tokenize","interpolate","apply","objectProtoype","defineGetter","__defineGetter__","defineSetter","__defineSetter__","lookupGetter","__lookupGetter__","lookupSetter","__lookupSetter__","defineProperty$1","hasDefinePropertySupport","obj","prop","descriptor","hasValue","hasGet","hasSet","__proto__","get","set","setNonEnumerableReadOnly","configurable","enumerable","writable","test","isPrimitive","isObject","setReadOnly","FLOAT64_NINF","NEGATIVE_INFINITY","isInteger","x","isInt","valueOf","isNonNegativeInteger","isString","FLOAT64_MAX_SAFE_INTEGER","repeat","HAS_BUILTIN","rpt","cnt","ceil","rpad","len","p","RangeError","lpad","div2","y","MAX_ITER","MAX_BITS","toBinaryStringf","nbits","exp","NUM_SIGNIFICAND_BITS","mult2","BIAS"],"mappings":";;AA2BA,IAAIA,ECMgB,mBAAXC,QACoB,iBAApBA,OAAQ,ODOjB,SAASC,IACR,OAASF,GAAqC,iBAAvBC,OAAOE,WAC/B,CErBA,IAAIC,EAAQC,OAAOC,UAAUC,SCA7B,IAAIC,EAAMH,OAAOC,UAAUG,eCA3B,IC4BIC,ED5BAC,EAA0B,mBAAXV,OAA0BA,YAAS,EEKlDW,EAA+B,mBAAXX,EAA0BA,EAAOE,YAAc,GDyBtEO,EADIG,IEDL,SAAsBC,GACrB,IAAIC,EACAC,EACAC,EJHgBC,EAAOC,EIK3B,GAAKL,QACJ,OAAOV,EAAMgB,KAAMN,GAEpBE,EAAMF,EAAGX,GJRkBgB,EISJhB,EAAvBY,EJPCG,OAFmBA,EISAJ,IJFbN,EAAIY,KAAMF,EAAOC,GIKxB,IACCL,EAAGX,QAAgB,CACnB,CAAC,MAAQkB,GACT,OAAOjB,EAAMgB,KAAMN,EACnB,CAQD,OAPAG,EAAMb,EAAMgB,KAAMN,GAEbC,EACJD,EAAGX,GAAgBa,SAEZF,EAAGX,GAEJc,CACR,EC3BA,SAAsBH,GACrB,OAAOV,EAAMgB,KAAMN,EACpB,EHUA,IAAAQ,EAAeZ,EIjCXa,EAA4C,mBAAjBC,aCuB/B,IAAIC,EAAeC,OAAOC,kBC5BtBjB,EAAiC,mBAAjBc,aAAgCA,aAAe,KCAnE,ICmBII,EDnBAA,EAAiC,mBAAjBJ,aAAgCA,kBAAe,ECuBlEI,ECPD,WACC,IAAIC,EACAC,ELMoBZ,EKJxB,GAAmC,mBAAvBa,EACX,OAAO,EAGR,IACCD,EAAM,IAAIC,EAAoB,CAAE,EAAK,MAAO,KAAM,OLD3Bb,EKGNY,EADjBD,GLAEN,GAAmBL,aAAiBM,cACb,0BAAzBF,EAAaJ,KKCC,IAAbY,EAAK,IACQ,oBAAbA,EAAK,KACS,oBAAdA,EAAK,IACLA,EAAK,KAAQE,CAEd,CAAC,MAAQX,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDjBKI,GACGC,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAC,EAAeR,EGxBXS,EAA0C,mBAAhBC,YC4B9B,ICjCI5B,EAAgC,mBAAhB4B,YAA+BA,YAAc,KCAjE,ICmBIV,EDnBAA,EAAgC,mBAAhBU,YAA+BA,iBAAc,ECuBhEV,ECPD,WACC,IAAIC,EACAC,ELMmBZ,EKJvB,GAAkC,mBAAtBqB,EACX,OAAO,EAGR,IAECT,EAAM,IAAIS,EADVT,EAAM,CAAE,EAAG,MAAO,KAAMU,WAAcA,aLDhBtB,EKINY,EADhBD,GLDEQ,GAAkBnB,aAAiBoB,aACZ,yBAAzBhB,EAAaJ,KKEC,IAAbY,EAAK,IACQ,IAAbA,EAAK,IACQU,aAAbV,EAAK,IACQ,IAAbA,EAAK,IACQ,IAAbA,EAAK,EAEN,CAAC,MAAQT,GACTQ,GAAO,CACP,CACD,OAAOA,CACR,CDnBKY,GACGP,EEdR,WACC,MAAM,IAAIC,MAAO,kBAClB,EFoBA,IAAAO,EAAed,EGZXe,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAZ,EALIW,EAAc,GC9BdA,EAAe,IAAInB,EAAc,GACnB,IAAIc,EAAaK,EAAaC,QA2BnC,GAHM,WAUnB,IAAAC,EALIF,EAAc,GCzBlB,IAAIG,EAAQC,KAAKD,MCtBbpC,EAA0C,mBAA1BL,OAAO2C,eAAkC3C,OAAO2C,eAAiB,KCiCrF,IAAIA,EAAiB3C,OAAO2C,eCjB5B,SAASC,EAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CCAA,SAASgC,EAAOC,GACf,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CAcA,SAASoC,EAASC,EAAKC,EAAOC,GAC7B,IAAIC,GAAW,EACXC,EAAMH,EAAQD,EAAIK,OACtB,OAAKD,EAAM,IAnCZ,SAA0BJ,GACzB,MAAoB,MAAbA,EAAK,EACb,CAoCMM,CAAiBN,KACrBG,GAAW,EACXH,EAAMA,EAAIO,OAAQ,IAEnBP,EAAM,EACLA,EAAMJ,EAAOQ,GACbR,EAAOQ,GAAQJ,EACXG,IACJH,EAAM,IAAMA,IAVLA,CAaT,CCpDA,IAAIQ,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAajC,SAASC,EAAeC,GACvB,IAAIC,EACApD,EACAmC,EAEJ,OAASgB,EAAME,WACf,IAAK,IAEJD,EAAO,EACP,MACD,IAAK,IAEJA,EAAO,EACP,MACD,IAAK,IACL,IAAK,IAEJA,EAAO,GACP,MAID,QAECA,EAAO,GAKR,GAFApD,EAAMmD,EAAMG,IACZnB,EAAIoB,SAAUvD,EAAK,KACbwD,SAAUrB,GAAM,CACrB,IAAMH,EAAUhC,GACf,MAAM,IAAIkB,MAAO,2BAA6BlB,GAE/CmC,EAAI,CACJ,CAkCD,OAjCKA,EAAI,IAA2B,MAApBgB,EAAME,WAA8B,KAATD,KAC1CjB,EAAI,WAAaA,EAAI,GAEjBA,EAAI,GACRnC,IAASmC,GAAI7C,SAAU8D,GAClBD,EAAMM,YACVzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAE5C1D,EAAM,IAAMA,IAEZA,EAAMmC,EAAE7C,SAAU8D,GACZjB,GAAMgB,EAAMM,UAENN,EAAMM,YACjBzD,EAAMoC,EAASpC,EAAKmD,EAAMM,UAAWN,EAAMO,WAF3C1D,EAAM,GAIFmD,EAAMQ,OACV3D,EAAMmD,EAAMQ,KAAO3D,IAGP,KAAToD,IACCD,EAAMS,YACV5D,EAAM,KAAOA,GAEdA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,IAEJ,IAAToD,GACCD,EAAMS,WAAiC,MAApB5D,EAAI6D,OAAQ,KACnC7D,EAAM,IAAMA,GAGPA,CACR,CCpFA,IAAI8D,EAAMhC,KAAKgC,IACXjB,EAAYC,OAAOzD,UAAU0D,YAC7BC,EAAYF,OAAOzD,UAAU4D,YAC7Bc,EAAUjB,OAAOzD,UAAU0E,QAK3BC,EAAoB,WACpBC,EAAoB,UACpBC,EAAiB,UACjBC,EAAuB,UACvBC,EAA0B,OAC1BC,EAAqB,QACrBC,EAAqB,gBAazB,SAASC,EAAcpB,GACtB,IAAIqB,EACAxE,EACAyE,EAAIC,WAAYvB,EAAMG,KAC1B,IAAME,SAAUiB,GAAM,CACrB,IAAMzC,EAAUmB,EAAMG,KACrB,MAAM,IAAIpC,MAAO,yCAA2ClB,GAG7DyE,EAAItB,EAAMG,GACV,CACD,OAASH,EAAME,WACf,IAAK,IACL,IAAK,IACJrD,EAAMyE,EAAEE,cAAexB,EAAMM,WAC7B,MACD,IAAK,IACL,IAAK,IACJzD,EAAMyE,EAAEG,QAASzB,EAAMM,WACvB,MACD,IAAK,IACL,IAAK,IACCK,EAAKW,GAAM,OACfD,EAASrB,EAAMM,WACD,IACbe,GAAU,GAEXxE,EAAMyE,EAAEE,cAAeH,IAEvBxE,EAAMyE,EAAEI,YAAa1B,EAAMM,WAEtBN,EAAMS,YACX5D,EAAM+D,EAAQ5D,KAAMH,EAAKsE,EAAoB,OAC7CtE,EAAM+D,EAAQ5D,KAAMH,EAAKqE,EAAoB,KAC7CrE,EAAM+D,EAAQ5D,KAAMH,EAAKoE,EAAyB,KAEnD,MACD,QACC,MAAM,IAAIlD,MAAO,mCAAqCiC,EAAME,WAc7D,OAZArD,EAAM+D,EAAQ5D,KAAMH,EAAKgE,EAAmB,SAC5ChE,EAAM+D,EAAQ5D,KAAMH,EAAKiE,EAAmB,SACvCd,EAAMS,YACV5D,EAAM+D,EAAQ5D,KAAMH,EAAKkE,EAAgB,OACzClE,EAAM+D,EAAQ5D,KAAMH,EAAKmE,EAAsB,SAE3CM,GAAK,GAAKtB,EAAMQ,OACpB3D,EAAMmD,EAAMQ,KAAO3D,GAEpBA,EAAQmD,EAAME,YAAcL,EAAU7C,KAAMgD,EAAME,WACjDL,EAAU7C,KAAMH,GAChB6C,EAAU1C,KAAMH,EAElB,CC5EA,SAAS8E,EAAQ5C,GAChB,IACIC,EADAnC,EAAM,GAEV,IAAMmC,EAAI,EAAGA,EAAID,EAAGC,IACnBnC,GAAO,IAER,OAAOA,CACR,CCLA,IAAI+E,EAAejC,OAAOiC,aACtBC,EAAUC,MAAMD,QAoBpB,SAASE,EAAOjF,GACf,OAASA,GAAUA,CACpB,CASA,SAASkF,EAAYhC,GACpB,IAAInD,EAAM,CAAA,EAMV,OALAA,EAAIqD,UAAYF,EAAME,UACtBrD,EAAIyD,eAAkC,IAApBN,EAAMM,UAAyB,EAAIN,EAAMM,UAC3DzD,EAAIsC,MAAQa,EAAMb,MAClBtC,EAAIoF,MAAQjC,EAAMiC,OAAS,GAC3BpF,EAAIqF,QAAUlC,EAAMkC,QACbrF,CACR,CAmBA,SAASsF,EAAmBC,GAC3B,IAAIC,EACAJ,EACAjC,EACAsC,EACAC,EACA1F,EACA2F,EACAxD,EACAyD,EDjDcvD,EAAKC,EAAOC,EAC1BE,ECkDJ,IAAMuC,EAASO,GACd,MAAM,IAAIM,UAAW,8DAAgEN,EAAS,MAI/F,IAFAvF,EAAM,GACN2F,EAAM,EACAxD,EAAI,EAAGA,EAAIoD,EAAO7C,OAAQP,IAE/B,GADAgB,EAAQoC,EAAQpD,GCxES,iBDyEVgB,EACdnD,GAAOmD,MACD,CAGN,GAFAqC,OAAgC,IAApBrC,EAAMM,YAClBN,EAAQgC,EAAYhC,IACRE,UACX,MAAM,IAAIwC,UAAW,oEAAqE1D,EAAG,cAAgBgB,EAAQ,MAMtH,IAJKA,EAAMkC,UACVM,EAAMxC,EAAMkC,SAEbD,EAAQjC,EAAMiC,MACRQ,EAAI,EAAGA,EAAIR,EAAM1C,OAAQkD,IAE9B,OADAH,EAAOL,EAAMvB,OAAQ+B,IAErB,IAAK,IACJzC,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMQ,KAAO,IACb,MACD,IAAK,IACJR,EAAMO,UAAW,EACjBP,EAAM2C,UAAW,EACjB,MACD,IAAK,IACJ3C,EAAM2C,SAAWV,EAAMW,QAAS,KAAQ,EACxC,MACD,IAAK,IACJ5C,EAAMS,WAAY,EAClB,MACD,QACC,MAAM,IAAI1C,MAAO,iBAAmBuE,GAGtC,GAAqB,MAAhBtC,EAAMb,MAAgB,CAG1B,GAFAa,EAAMb,MAAQiB,SAAUyC,UAAWL,GAAO,IAC1CA,GAAO,EACFT,EAAO/B,EAAMb,OACjB,MAAM,IAAIuD,UAAW,wCAA0CF,EAAM,6BAA+BxC,EAAMb,MAAQ,MAE9Ga,EAAMb,MAAQ,IAClBa,EAAMO,UAAW,EACjBP,EAAMb,OAASa,EAAMb,MAEtB,CACD,GAAKkD,GACqB,MAApBrC,EAAMM,UAAoB,CAG9B,GAFAN,EAAMM,UAAYF,SAAUyC,UAAWL,GAAO,IAC9CA,GAAO,EACFT,EAAO/B,EAAMM,WACjB,MAAM,IAAIoC,UAAW,4CAA8CF,EAAM,6BAA+BxC,EAAMM,UAAY,MAEtHN,EAAMM,UAAY,IACtBN,EAAMM,UAAY,EAClB+B,GAAY,EAEb,CAGF,OADArC,EAAMG,IAAM0C,UAAWL,GACdxC,EAAME,WACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAECmC,IACJrC,EAAM2C,UAAW,GAElB3C,EAAMG,IAAMJ,EAAeC,GAC3B,MACD,IAAK,IAEJA,EAAM8C,SAAW,EAAgB9C,EAAMM,WAAa,EACpDN,EAAMG,IAAMR,OAAQK,EAAMG,KAC1B,MACD,IAAK,IAEJ,IAAM4B,EAAO/B,EAAMG,KAAQ,CAE1B,IADAoC,EAAMnC,SAAUJ,EAAMG,IAAK,KAChB,GAAKoC,EAAM,IACrB,MAAM,IAAIxE,MAAO,kCAAoCiC,EAAMG,KAE5DH,EAAMG,IAAQ4B,EAAOQ,GAAU5C,OAAQK,EAAMG,KAAQyB,EAAcW,EACnE,CACD,MACD,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEEF,IACLrC,EAAMM,UAAY,GAEnBN,EAAMG,IAAMiB,EAAcpB,GAC1B,MACD,QACC,MAAM,IAAIjC,MAAO,sBAAwBiC,EAAME,WAG3CF,EAAM8C,UAAY,GAAK9C,EAAMG,IAAIZ,OAASS,EAAM8C,WACpD9C,EAAMG,IAAMH,EAAMG,IAAI4C,UAAW,EAAG/C,EAAM8C,WAEtC9C,EAAM2C,SACV3C,EAAMG,IAAMlB,EAASe,EAAMG,IAAKH,EAAMb,OAASa,EAAMM,UAAWN,EAAMO,UAC3DP,EAAMb,QACjBa,EAAMG,KDzKSjB,ECyKOc,EAAMG,IDzKRhB,ECyKaa,EAAMb,MDzKZC,ECyKmBY,EAAMO,SDxKnDjB,YAAMH,EAAQD,EAAIK,QACX,EACHL,EAERA,EAAM,EACLA,EAAMyC,EAAQrC,GACdqC,EAAQrC,GAAQJ,ICoKfrC,GAAOmD,EAAMG,KAAO,GACpBqC,GAAO,CACP,CAEF,OAAO3F,CACR,CE5MA,IAAImG,EAAK,6EAYT,SAASC,EAAOC,GACf,IAAIlD,EAAQ,CACXkC,QAAagB,EAAO,GAAQ9C,SAAU8C,EAAO,GAAK,SAAO,EACzDjB,MAASiB,EAAO,GAChB/D,MAAS+D,EAAO,GAChB5C,UAAa4C,EAAO,GACpBhD,UAAagD,EAAO,IAKrB,MAHoB,MAAfA,EAAO,SAA8B,IAAfA,EAAO,KACjClD,EAAMM,UAAY,KAEZN,CACR,CAeA,SAASmD,EAAgBjE,GACxB,IAAIkE,EACAhB,EACAc,EACAG,EAKJ,IAHAjB,EAAS,GACTiB,EAAO,EACPH,EAAQF,EAAGM,KAAMpE,GACTgE,IACPE,EAAUlE,EAAIqE,MAAOF,EAAML,EAAGQ,UAAYN,EAAO,GAAI3D,SACxCA,QACZ6C,EAAOqB,KAAML,GAEdhB,EAAOqB,KAAMR,EAAOC,IACpBG,EAAOL,EAAGQ,UACVN,EAAQF,EAAGM,KAAMpE,GAMlB,OAJAkE,EAAUlE,EAAIqE,MAAOF,IACR9D,QACZ6C,EAAOqB,KAAML,GAEPhB,CACR,CCtCA,SAASsB,EAAQxE,GAChB,IAAIyE,EACA3E,EAEJ,GCf0B,iBDeVE,EACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAGjG,IADAyE,EAAO,CAAEC,EAAU1E,IACbF,EAAI,EAAGA,EAAI6D,UAAUtD,OAAQP,IAClC2E,EAAKF,KAAMZ,UAAW7D,IAEvB,OAAO6E,EAAYC,MAAO,KAAMH,EACjC,CE7BA,IAAII,GAAiB9H,OAAOC,UACxBF,GAAQ+H,GAAe5H,SACvB6H,GAAeD,GAAeE,iBAC9BC,GAAeH,GAAeI,iBAC9BC,GAAeL,GAAeM,iBAC9BC,GAAeP,GAAeQ,iBCuBlC,IAAAC,GCpBA,WAEC,IAEC,OADA5F,EAAgB,CAAE,EAAE,IAAK,CAAA,IAClB,CACP,CAAC,MAAQ3B,GACT,OAAO,CACP,CACF,CDGKwH,GACa3G,EDqBlB,SAAyB4G,EAAKC,EAAMC,GACnC,IAAI1I,EACA2I,EACAC,EACAC,EAEJ,GAAoB,iBAARL,GAA4B,OAARA,GAAsC,mBAAtB1I,GAAMgB,KAAM0H,GAC3D,MAAM,IAAIhC,UAAWgB,EAAQ,mEAAoEgB,IAElG,GAA2B,iBAAfE,GAA0C,OAAfA,GAAoD,mBAA7B5I,GAAMgB,KAAM4H,GACzE,MAAM,IAAIlC,UAAWgB,EAAQ,wEAAyEkB,IAyBvG,IAvBAC,EAAa,UAAWD,KAGtBR,GAAapH,KAAM0H,EAAKC,IACxBL,GAAatH,KAAM0H,EAAKC,IAGxBzI,EAAYwI,EAAIM,UAChBN,EAAIM,UAAYjB,UAGTW,EAAKC,GACZD,EAAKC,GAASC,EAAW9H,MAGzB4H,EAAIM,UAAY9I,GAEhBwI,EAAKC,GAASC,EAAW9H,OAG3BgI,EAAW,QAASF,EACpBG,EAAW,QAASH,EAEfC,IAAcC,GAAUC,GAC5B,MAAM,IAAIhH,MAAO,wHASlB,OANK+G,GAAUd,IACdA,GAAahH,KAAM0H,EAAKC,EAAMC,EAAWK,KAErCF,GAAUb,IACdA,GAAalH,KAAM0H,EAAKC,EAAMC,EAAWM,KAEnCR,CACR,EGvEA,SAASS,GAA0BT,EAAKC,EAAM7H,GAC7C8B,GAAgB8F,EAAKC,EAAM,CAC1BS,cAAgB,EAChBC,YAAc,EACdC,UAAY,EACZxI,MAASA,GAEX,CCdA,SAAS+B,GAAU/B,GAClB,MAA0B,iBAAVA,CACjB,CClBA,IAAAR,GAAegB,OCMXnB,GAAWmB,GAAOpB,UAAUC,SCEhC,IAAIP,GAAMa,IAmBV,SAASoC,GAAU/B,GAClB,MAAsB,iBAAVA,IACNA,aAAiBQ,KAGjB1B,GCpBP,SAAekB,GACd,IAEC,OADAX,GAASa,KAAMF,IACR,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDcUsI,CAAMzI,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEVA,SAAS+B,GAAU/B,GAClB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCoBA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICnBA,IAAIE,GAAerI,GAAOsI,kBClB1B,SAASC,GAAW/I,GACnB,OACCA,EAAQc,GACRd,EAAQ2B,ICGDC,EADWoH,EDDXhJ,KCEagJ,EADtB,IAAoBA,CDCpB,CEAA,SAASD,GAAW/I,GACnB,OACC+B,GAAU/B,IACViJ,GAAOjJ,EAET,CCLA,SAAS+I,GAAW/I,GACnB,OACC+B,GAAU/B,IACViJ,GAAOjJ,EAAMkJ,UAEf,CCGA,SAASH,GAAW/I,GACnB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCXA,SAASmJ,GAAsBnJ,GAC9B,OACC+I,GAAW/I,IACXA,GAAS,CAEX,CCLA,SAASmJ,GAAsBnJ,GAC9B,OACC+I,GAAW/I,IACXA,EAAMkJ,WAAa,CAErB,CCQA,SAASC,GAAsBnJ,GAC9B,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCtBA,SAASoJ,GAAUpJ,GAClB,MAA0B,iBAAVA,CACjB,CCmCA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICAAC,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,ICpDA,IAAIO,GAAUrG,OAAOzD,UAAU8J,QCQ/B,IAAIpK,GAAMa,IAmBV,SAASyJ,GAAUpJ,GAClB,MAAsB,iBAAVA,IACNA,aAAiB6C,SAGjB/D,GCnBP,SAAekB,GACd,IAEC,OADAkJ,GAAQhJ,KAAMF,IACP,CACP,CAAC,MAAQG,GACT,OAAO,CACP,CACF,CDaUsI,CAAMzI,GAEoB,oBAAzBI,EAAaJ,IAGxB,CEjBA,SAASoJ,GAAUpJ,GAClB,OAAS0I,GAAa1I,IAAW2I,GAAU3I,EAC5C,CCsBA4I,GAAApJ,GAAA,cAAAkJ,IACAE,GAAApJ,GAAA,WAAAmJ,IChBA,IAAIU,GAA2B,iBC7B3B1I,QAA4C,IAA5BkC,OAAOzD,UAAUkK,OCArC,IAAIA,GAASzG,OAAOzD,UAAUkK,OCmC9B,IAAAnG,GATKoG,GCFL,SAAiBnH,EAAKH,GACrB,OAAOjB,GAAQd,KAAMkC,EAAKH,EAC3B,ECgCA,SAAiBG,EAAKH,GACrB,IAAIuH,EACAC,EACJ,GAAoB,IAAfrH,EAAIK,QAAsB,IAANR,EACxB,MAAO,GAIR,IAFAuH,EAAM,GACNC,EAAMxH,EAGY,IAAP,EAAJwH,KACLD,GAAOpH,GAIK,IADbqH,KAAS,IAKTrH,GAAOA,EAER,OAAOoH,CACR,EC1DIE,GAAO7H,KAAK6H,KCWhB,SAASC,GAAMvH,EAAKwH,EAAKpH,GACxB,IAAIqH,EACJ,IAAMT,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUtD,OAAS,EAAI,CAE3B,IAAM2G,GADNS,EAAIrH,GAEH,MAAM,IAAIoD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAEpH,OACN,MAAM,IAAIqH,WAAY,4DAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAexH,EAAKwH,EAAKpH,GACxB,IAAIP,GAAM2H,EAAMxH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAIyH,GAAMzH,GACHG,EAAMkH,GAAQ9G,EAAKP,GAC3B,CDsBQkB,CAAMf,EAAKwH,EAAKC,EACxB,CEvBA,SAASE,GAAM3H,EAAKwH,EAAKpH,GACxB,IAAIqH,EACJ,IAAMT,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBS,GAC3B,MAAM,IAAIhE,UAAWgB,EAAQ,gFAAiFgD,IAE/G,GAAK7D,UAAUtD,OAAS,EAAI,CAE3B,IAAM2G,GADNS,EAAIrH,GAEH,MAAM,IAAIoD,UAAWgB,EAAQ,kEAAmEiD,IAEjG,GAAkB,IAAbA,EAAEpH,OACN,MAAM,IAAIqH,WAAY,gEAEzB,MACED,EAAI,IAEL,GAAKD,EAAMP,GACV,MAAM,IAAIS,WAAYlD,EAAQ,6FAA8FgD,IAE7H,OC7BD,SAAexH,EAAKwH,EAAKpH,GACxB,IAAIP,GAAM2H,EAAMxH,EAAIK,QAAWD,EAAIC,OACnC,OAAKR,GAAK,EACFG,GAERH,EAAIyH,GAAMzH,GACHqH,GAAQ9G,EAAKP,GAAMG,EAC3B,CDsBQe,CAAMf,EAAKwH,EAAKC,EACxB,CE1BA,SAASP,GAAQlH,EAAKH,GACrB,IAAMmH,GAAUhH,GACf,MAAM,IAAIwD,UAAWgB,EAAQ,kEAAmExE,IAEjG,IAAM+G,GAAsBlH,GAC3B,MAAM,IAAI2D,UAAWgB,EAAQ,gFAAiF3E,IAE/G,OAAOkB,GAAMf,EAAKH,EACnB,CCVA,SAAS+H,GAAMhB,GAKd,IAJA,IACIiB,EADA7H,EAAM,GAIF4G,EAAI,GAIV5G,GAHD6H,EAAIjB,EAAI,MACRA,EAAIpH,EAAOqI,IAEJ,IAAM7H,EAEN,IAAMA,EAGd,OAAOA,CACR,CC3CA,IAAI8H,GAAW,IACXC,GAAW,GCwEf,SAASC,GAAiBpB,GACzB,IAAIqB,EACA3G,EACAtB,EACAkI,EACArI,EACAuC,EACAtC,EASJ,GALCwB,EADIsF,EAAI,GAAO,EAAIA,IAAMrH,EAClB,IAEA,IAGHqH,IAAMlI,GAAQkI,IAAMrH,EAIxB,OAAO+B,GAFP4G,EAAMhB,GAAQ,IA3EQ,KA4EtBlH,EAAMkH,GAAQ,IA7EW,KAiF1B,GAAKN,GAAMA,EAIV,OAAOtF,GAFP4G,EAAMhB,GAAQ,IAlFQ,KAmFtBlH,EAAM,IAAMkH,GAAQ,IAAKiB,KAI1B,GAAW,IAANvB,EAIJ,OAAOtF,GAFP4G,EAAMhB,GAAQ,IAzFQ,KA0FtBlH,EAAMkH,GAAQ,IA3FW,KA2G1B,GAPA9E,GANAwE,ECnFD,SAAcA,GACb,OAAOnH,KAAKgC,IAAKmF,EAClB,CDiFKnF,CAAKmF,KAGT/G,EAAIL,EAAOoH,IAMX/G,EAAI+H,GAAM/H,GACVuC,EDlGD,SAAgBwE,GACf,IAAI5G,EACA6H,EACA/H,EACAyD,EAGJ,GADAvD,EAAM,GACK,IAAN4G,EACJ,OAAO5G,EAKR,IAHAuD,EAAIuE,GAGEhI,EAAI,EAAGA,EAAIgI,MAChBD,EAAQ,EAAJjB,IACM,GACTA,EAAIiB,EAAI,EACR7H,GAAO,IACFuD,IAAMuE,KACVvE,EAAIzD,KAGL8G,EAAIiB,EACJ7H,GAAO,OAGG,IAAN6H,GAAa/H,EAAEyD,EAAIwE,KAbEjI,KAkB3B,OAAOE,CACR,CCkEKoI,CAAOhG,GAGNvC,EAEJqI,EAAMrI,EAAEQ,OAAS,MACX,CAEN,IAAMP,EAAI,EAAGA,EAAIsC,EAAE/B,OAAQP,IAC1B,GAAgB,MAAXsC,EAAGtC,GAAc,CACrBmI,EAAQnI,EAAI,EACZ,KACA,CAGFoI,GAAOD,CACP,CAuBD,OArBAjI,EAAMH,EAAIuC,EACL8F,EAAM,GAELA,IE9GqB,MFgHzBD,EAAQI,KAGTrI,EAAMA,EAAI6D,UAAWoE,IAGrBjI,EAAMA,EAAI6D,UAAW,GAUfvC,GANP4G,EAAMP,GADNO,EAAMN,GAAMM,EEzHe,KFdJ,EAwIa,OAGpClI,EAAMuH,GAAMvH,EA5Ic,GA4Ia,KAAM6D,UAAW,EA5I9B,IAgJ3B","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,81,82]} \ No newline at end of file diff --git a/stats.html b/stats.html deleted file mode 100644 index f7fa652..0000000 --- a/stats.html +++ /dev/null @@ -1,4842 +0,0 @@ - - - - - - - - Rollup Visualizer - - - -
- - - - - From 4237653b5cff4df2074ee804c0c2d6b09b996387 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Mon, 19 May 2025 02:19:32 +0000 Subject: [PATCH 146/146] Auto-generated commit --- .editorconfig | 180 - .eslintrc.js | 1 - .gitattributes | 66 - .github/.keepalive | 1 - .github/PULL_REQUEST_TEMPLATE.md | 7 - .github/workflows/benchmark.yml | 64 - .github/workflows/cancel.yml | 57 - .github/workflows/close_pull_requests.yml | 54 - .github/workflows/examples.yml | 64 - .github/workflows/npm_downloads.yml | 112 - .github/workflows/productionize.yml | 794 --- .github/workflows/publish.yml | 252 - .github/workflows/test.yml | 99 - .github/workflows/test_bundles.yml | 186 - .github/workflows/test_coverage.yml | 133 - .github/workflows/test_install.yml | 85 - .github/workflows/test_published_package.yml | 105 - .gitignore | 194 - .npmignore | 229 - .npmrc | 31 - CHANGELOG.md | 222 - CITATION.cff | 30 - CODE_OF_CONDUCT.md | 3 - CONTRIBUTING.md | 3 - Makefile | 534 -- README.md | 44 +- SECURITY.md | 5 - benchmark/benchmark.js | 52 - branches.md | 56 - dist/index.d.ts | 3 - dist/index.js | 9 - dist/index.js.map | 7 - docs/repl.txt | 41 - docs/types/test.ts | 43 - examples/index.js | 101 - lib/div2.js | 71 - lib/index.js | 70 - lib/main.js | 187 - lib/mult2.js | 81 - docs/types/index.d.ts => mod.d.ts | 0 mod.js | 4 + mod.js.map | 1 + package.json | 67 +- stats.html | 4842 ++++++++++++++++++ test/dist/test.js | 33 - test/fixtures/julia/REQUIRE | 2 - test/fixtures/julia/bits_-1e3_1e3.json | 1 - test/fixtures/julia/bits_1e-36_1e-38.json | 1 - test/fixtures/julia/bits_1e-39_1e-45.json | 1 - test/fixtures/julia/bits_1e36_1e38.json | 1 - test/fixtures/julia/runner.jl | 84 - test/test.js | 162 - 52 files changed, 4863 insertions(+), 4612 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/.keepalive delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/benchmark.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/close_pull_requests.yml delete mode 100644 .github/workflows/examples.yml delete mode 100644 .github/workflows/npm_downloads.yml delete mode 100644 .github/workflows/productionize.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/test_bundles.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_install.yml delete mode 100644 .github/workflows/test_published_package.yml delete mode 100644 .gitignore delete mode 100644 .npmignore delete mode 100644 .npmrc delete mode 100644 CHANGELOG.md delete mode 100644 CITATION.cff delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 Makefile delete mode 100644 SECURITY.md delete mode 100644 benchmark/benchmark.js delete mode 100644 branches.md delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 docs/repl.txt delete mode 100644 docs/types/test.ts delete mode 100644 examples/index.js delete mode 100644 lib/div2.js delete mode 100644 lib/index.js delete mode 100644 lib/main.js delete mode 100644 lib/mult2.js rename docs/types/index.d.ts => mod.d.ts (100%) create mode 100644 mod.js create mode 100644 mod.js.map create mode 100644 stats.html delete mode 100644 test/dist/test.js delete mode 100644 test/fixtures/julia/REQUIRE delete mode 100644 test/fixtures/julia/bits_-1e3_1e3.json delete mode 100644 test/fixtures/julia/bits_1e-36_1e-38.json delete mode 100644 test/fixtures/julia/bits_1e-39_1e-45.json delete mode 100644 test/fixtures/julia/bits_1e36_1e38.json delete mode 100644 test/fixtures/julia/runner.jl delete mode 100644 test/test.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index dab5d2a..0000000 --- a/.editorconfig +++ /dev/null @@ -1,180 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# EditorConfig configuration file (see ). - -# Indicate that this file is a root-level configuration file: -root = true - -# Set properties for all files: -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# Set properties for JavaScript files: -[*.{js,js.txt}] -indent_style = tab - -# Set properties for JavaScript ES module files: -[*.{mjs,mjs.txt}] -indent_style = tab - -# Set properties for JavaScript CommonJS files: -[*.{cjs,cjs.txt}] -indent_style = tab - -# Set properties for JSON files: -[*.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `cli_opts.json` files: -[cli_opts.json] -indent_style = tab - -# Set properties for TypeScript files: -[*.ts] -indent_style = tab - -# Set properties for Python files: -[*.{py,py.txt}] -indent_style = space -indent_size = 4 - -# Set properties for Julia files: -[*.{jl,jl.txt}] -indent_style = tab - -# Set properties for R files: -[*.{R,R.txt}] -indent_style = tab - -# Set properties for C files: -[*.{c,c.txt}] -indent_style = tab - -# Set properties for C header files: -[*.{h,h.txt}] -indent_style = tab - -# Set properties for C++ files: -[*.{cpp,cpp.txt}] -indent_style = tab - -# Set properties for C++ header files: -[*.{hpp,hpp.txt}] -indent_style = tab - -# Set properties for Fortran files: -[*.{f,f.txt}] -indent_style = space -indent_size = 2 - -# Set properties for shell files: -[*.{sh,sh.txt}] -indent_style = tab - -# Set properties for AWK files: -[*.{awk,awk.txt}] -indent_style = tab - -# Set properties for HTML files: -[*.{html,html.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for XML files: -[*.{xml,xml.txt}] -indent_style = tab -tab_width = 2 - -# Set properties for CSS files: -[*.{css,css.txt}] -indent_style = tab - -# Set properties for Makefiles: -[Makefile] -indent_style = tab - -[*.{mk,mk.txt}] -indent_style = tab - -# Set properties for Markdown files: -[*.{md,md.txt}] -indent_style = space -indent_size = 4 -trim_trailing_whitespace = true # Note: this disables using two spaces to force a hard line break, which is permitted in Markdown. As we don't typically follow that practice (TMK), we should be safe to automatically trim. - -# Set properties for `usage.txt` files: -[usage.txt] -indent_style = space -indent_size = 2 - -# Set properties for `repl.txt` files: -[repl.txt] -indent_style = space -indent_size = 4 - -# Set properties for `package.json` files: -[package.{json,json.txt}] -indent_style = space -indent_size = 2 - -# Set properties for `datapackage.json` files: -[datapackage.json] -indent_style = space -indent_size = 2 - -# Set properties for `manifest.json` files: -[manifest.json] -indent_style = space -indent_size = 2 - -# Set properties for `tsconfig.json` files: -[tsconfig.json] -indent_style = space -indent_size = 2 - -# Set properties for LaTeX files: -[*.{tex,tex.txt}] -indent_style = tab - -# Set properties for LaTeX Bibliography files: -[*.{bib,bib.txt}] -indent_style = tab - -# Set properties for YAML files: -[*.{yml,yml.txt}] -indent_style = space -indent_size = 2 - -# Set properties for GYP files: -[binding.gyp] -indent_style = space -indent_size = 2 - -[*.gypi] -indent_style = space -indent_size = 2 - -# Set properties for citation files: -[*.{cff,cff.txt}] -indent_style = space -indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f30286..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -/* For the `eslint` rules of this project, consult the main repository at https://github.com/stdlib-js/stdlib */ diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 1c88e69..0000000 --- a/.gitattributes +++ /dev/null @@ -1,66 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2017 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. -#/ - -# Configuration file which assigns attributes to pathnames. -# -# [1]: https://git-scm.com/docs/gitattributes - -# Automatically normalize the line endings of any committed text files: -* text=auto - -# Override line endings for certain files on checkout: -*.crlf.csv text eol=crlf - -# Denote that certain files are binary and should not be modified: -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.gz binary -*.zip binary -*.7z binary -*.mp3 binary -*.mp4 binary -*.mov binary - -# Override what is considered "vendored" by GitHub's linguist: -/lib/node_modules/** -linguist-vendored -linguist-generated - -# Configure directories which should *not* be included in GitHub language statistics: -/deps/** linguist-vendored -/dist/** linguist-generated -/workshops/** linguist-vendored - -benchmark/** linguist-vendored -docs/* linguist-documentation -etc/** linguist-vendored -examples/** linguist-documentation -scripts/** linguist-vendored -test/** linguist-vendored -tools/** linguist-vendored - -# Configure files which should *not* be included in GitHub language statistics: -Makefile linguist-vendored -*.mk linguist-vendored -*.jl linguist-vendored -*.py linguist-vendored -*.R linguist-vendored - -# Configure files which should be included in GitHub language statistics: -docs/types/*.d.ts -linguist-documentation diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index ac6bccb..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2025-05-19T01:35:54.182Z diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 6afb4f9..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ - - -We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. - -If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/contributing/development.md) for help on developing stdlib. - -We look forward to receiving your contribution! :smiley: \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index e4f10fe..0000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: benchmark - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run benchmarks: - benchmark: - - # Define a display name: - name: 'Run benchmarks' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run benchmarks: - - name: 'Run benchmarks' - run: | - npm run benchmark diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index b5291db..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,57 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: cancel - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to cancel existing workflow runs: - cancel: - - # Define a display name: - name: 'Cancel workflow runs' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Time limit: - timeout-minutes: 3 - - # Define the sequence of job steps... - steps: - - # Cancel existing workflow runs: - - name: 'Cancel existing workflow runs' - # Pin action to full length commit SHA - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # v0.12.1 - with: - workflow_id: >- - benchmark.yml, - examples.yml, - test.yml, - test_coverage.yml, - test_install.yml, - publish.yml - access_token: ${{ github.token }} diff --git a/.github/workflows/close_pull_requests.yml b/.github/workflows/close_pull_requests.yml deleted file mode 100644 index bc600c7..0000000 --- a/.github/workflows/close_pull_requests.yml +++ /dev/null @@ -1,54 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: close_pull_requests - -# Workflow triggers: -on: - pull_request_target: - types: [opened] - -# Workflow jobs: -jobs: - - # Define job to close all pull requests: - run: - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Close pull request - - name: 'Close pull request' - # Pin action to full length commit SHA corresponding to v3.1.2 - uses: superbrothers/close-pull-request@9c18513d320d7b2c7185fb93396d0c664d5d8448 - with: - comment: | - Thank you for submitting a pull request. :raised_hands: - - We greatly appreciate your willingness to submit a contribution. However, we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). - - We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/number/float32/base/to-binary-string) of the main repository where we’ll review and provide feedback. If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. - - Thank you again, and we look forward to receiving your contribution! :smiley: - - Best, - The stdlib team \ No newline at end of file diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml deleted file mode 100644 index 2984901..0000000 --- a/.github/workflows/examples.yml +++ /dev/null @@ -1,64 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2021 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. -#/ - -# Workflow name: -name: examples - -# Workflow triggers: -on: - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job to run the package examples... - examples: - - # Define display name: - name: 'Run examples' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - - # Checkout repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Run examples: - - name: 'Run examples' - run: | - npm run examples diff --git a/.github/workflows/npm_downloads.yml b/.github/workflows/npm_downloads.yml deleted file mode 100644 index e313406..0000000 --- a/.github/workflows/npm_downloads.yml +++ /dev/null @@ -1,112 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: npm_downloads - -# Workflow triggers: -on: - # Run this workflow weekly: - schedule: - # cron: ' ' - - cron: '22 22 * * 4' - - # Allow the workflow to be manually run: - workflow_dispatch: - -# Workflow jobs: -jobs: - - # Define a job for retrieving npm download counts... - npm_downloads: - - # Define display name: - name: 'Retrieve npm download counts' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - timeout-minutes: 10 - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Resolve package name: - - name: 'Resolve package name' - id: package_name - run: | - name=`node -e 'console.log(require("./package.json").name)' | tr -d '\n'` - echo "package_name=$name" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Fetch download data: - - name: 'Fetch data' - id: download_data - run: | - url="https://api.npmjs.org/downloads/range/$(date --date='1 year ago' '+%Y-%m-%d'):$(date '+%Y-%m-%d')/${{ steps.package_name.outputs.package_name }}" - echo "$url" - data=$(curl "$url") - mkdir ./tmp - echo "$data" > ./tmp/npm_downloads.json - echo "data=$data" >> $GITHUB_OUTPUT - timeout-minutes: 5 - - # Print summary of download data: - - name: 'Print summary' - run: | - echo "| Date | Downloads |" >> $GITHUB_STEP_SUMMARY - echo "|------|------------|" >> $GITHUB_STEP_SUMMARY - cat ./tmp/npm_downloads.json | jq -r ".downloads | .[-14:] | to_entries | map(\"| \(.value.day) | \(.value.downloads) |\") |.[]" >> $GITHUB_STEP_SUMMARY - - # Upload the download data: - - name: 'Upload data' - # Pin action to full length commit SHA - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 - with: - # Define a name for the uploaded artifact (ensuring a unique name for each job): - name: npm_downloads - - # Specify the path to the file to upload: - path: ./tmp/npm_downloads.json - - # Specify the number of days to retain the artifact (default is 90 days): - retention-days: 90 - timeout-minutes: 10 - if: success() - - # Send data to events server: - - name: 'Post data' - # Pin action to full length commit SHA - uses: distributhor/workflow-webhook@48a40b380ce4593b6a6676528cd005986ae56629 # v3.0.3 - env: - webhook_url: ${{ secrets.STDLIB_NPM_DOWNLOADS_URL }} - webhook_secret: ${{ secrets.STDLIB_WEBHOOK_SECRET }} - data: '{ "downloads": ${{ steps.download_data.outputs.data }} }' - timeout-minutes: 5 - if: success() diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml deleted file mode 100644 index f4575e9..0000000 --- a/.github/workflows/productionize.yml +++ /dev/null @@ -1,794 +0,0 @@ -#/ -# @license Apache-2.0 -# -# Copyright (c) 2022 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. -#/ - -# Workflow name: -name: productionize - -# Workflow triggers: -on: - # Run workflow when a new commit is pushed to the main branch: - push: - branches: - - main - - # Allow the workflow to be manually run: - workflow_dispatch: - inputs: - require-passing-tests: - description: 'Require passing tests for creating bundles' - type: boolean - default: true - - # Run workflow upon completion of `publish` workflow run: - workflow_run: - workflows: ["publish"] - types: [completed] - - -# Concurrency group to prevent multiple concurrent executions: -concurrency: - group: productionize - cancel-in-progress: true - -# Workflow jobs: -jobs: - - # Define a job to create a production build... - productionize: - - # Define display name: - name: 'Productionize' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Define the sequence of job steps... - steps: - # Checkout main branch of repository: - - name: 'Checkout main branch' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - ref: main - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Create production branch: - - name: 'Create production branch' - run: | - git checkout -b production - - # Transform error messages: - - name: 'Transform error messages' - id: transform-error-messages - uses: stdlib-js/transform-errors-action@main - - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - - name: 'Update dependencies in package.json' - run: | - PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version) - if grep -q '"@stdlib/string-format"' package.json; then - sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json - else - node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );" - fi - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Transform error messages" - - # Push changes: - - name: 'Push changes' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" production --force - - # Define a job for running tests of the productionized code... - test: - - # Define a display name: - name: 'Run Tests' - - # Define the type of virtual host machine: - runs-on: 'ubuntu-latest' - - # Indicate that this job depends on the prior job finishing: - needs: productionize - - # Run this job regardless of the outcome of the prior job: - if: always() - - # Define the sequence of job steps... - steps: - - # Checkout the repository: - - name: 'Checkout repository' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - # Use the `production` branch: - ref: production - - # Install Node.js: - - name: 'Install Node.js' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Build native add-on if present: - - name: 'Build native add-on (if present)' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - run: | - if [ -f "binding.gyp" ]; then - npm install node-gyp --no-save && ./node_modules/.bin/node-gyp rebuild - fi - - # Run tests: - - name: 'Run tests' - if: ${{ github.event.inputs.require-passing-tests == 'true' }} - id: tests - run: | - npm test || npm test || npm test - - # Define job to create a bundle for use in Deno... - deno: - - # Define display name: - name: 'Create Deno bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `deno` branch exists: - - name: 'Check if remote `deno` branch exists' - id: deno-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin deno - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `deno` exists, delete everything in branch and merge `production` into it - - name: 'If `deno` exists, delete everything in branch and merge `production` into it' - if: steps.deno-branch-exists.outputs.remote-exists - run: | - git checkout -b deno origin/deno - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `deno` does not exist, create `deno` branch: - - name: 'If `deno` does not exist, create `deno` branch' - if: ${{ steps.deno-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b deno - - # Copy files to deno directory: - - name: 'Copy files to deno directory' - run: | - mkdir -p deno - cp README.md LICENSE CONTRIBUTORS NOTICE ./deno - - # Copy TypeScript definitions to deno directory: - if [ -d index.d.ts ]; then - cp index.d.ts ./deno/index.d.ts - fi - if [ -e ./docs/types/index.d.ts ]; then - cp ./docs/types/index.d.ts ./deno/mod.d.ts - fi - - # Install Node.js: - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: Install production and development dependencies - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Bundle package for use in Deno: - - name: 'Bundle package for Deno' - id: deno-bundle - uses: stdlib-js/bundle-action@main - with: - target: 'deno' - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - # Replace links to other packages with links to the deno branch: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/deno/"; - - # Replace reference to `@stdlib/types` with CDN link: - find ./deno -type f -name '*.ts' -print0 | xargs -0 -r sed -Ei "s/\/\/\/ /\/\/\/ /g" - - # Change wording of project description to avoid reference to JavaScript and Node.js: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/a standard library for JavaScript and Node.js, /a standard library /g" - - # Rewrite all `require()`s to use jsDelivr links: - find ./deno -type f -name '*.md' -print0 | xargs -0 sed -Ei "/require\( '@stdlib\// { - s/(var|let|const)\s+([a-z0-9_]+)\s+=\s*require\( '([^']+)' \);/import \2 from \'\3\';/i - s/@stdlib/https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js/ - s/';/@deno\/mod.js';/ - }" - - # Rewrite first `import` to show importing of named exports if available: - exports=$(cat lib/index.js | \ - grep -E 'setReadOnly\(.*,.*,.*\)' | \ - sed -E 's/setReadOnly\((.*),(.*),(.*)\);/\2/' | \ - sed -E "s/'//g" | \ - sort) - if [ -n "$exports" ]; then - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\nimport\s+([a-zA-Z0-9_]+)\s+from\s*'([^']+)';\n\`\`\`/\`\`\`javascript\nimport \1 from '\2';\n\`\`\`\n\nYou can also import the following named exports from the package:\n\n\`\`\`javascript\nimport { $(echo $exports | sed -E 's/ /, /g') } from '\2';\n\`\`\`/" - fi - - # Remove `installation`, `cli`, and `c` sections: - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./deno -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Create package.json file for deno branch: - jq --indent 2 '{"name": .name, "version": .version, "description": .description, "license": .license, "type": "module", "main": "./mod.js", "homepage": .homepage, "repository": .repository, "bugs": .bugs, "keywords": .keywords, "funding": .funding}' package.json > ./deno/package.json - - # Delete everything in current directory aside from deno folder: - - name: 'Delete everything in current directory aside from deno folder' - run: | - find . -type 'f' | grep -v -e "deno" -e ".git/" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e "deno" -e ".git" | xargs -r rm -rf - - # Move deno directory to root: - - name: 'Move deno directory to root' - run: | - mv ./deno/* . - rmdir ./deno - - # Commit changes: - - name: 'Commit changes' - run: | - git add -A - git commit -m "Auto-generated commit" - - # Push changes to `deno` branch: - - name: 'Push changes to `deno` branch' - run: | - SLUG=${{ github.repository }} - echo "Pushing changes to $SLUG..." - git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$SLUG.git" deno - - # Send status to Slack channel if job fails: - - name: 'Send status to Slack channel in case of failure' - # Pin action to full length commit SHA - uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 - with: - status: ${{ job.status }} - channel: '#npm-ci' - if: failure() - - # Define job to create a UMD bundle... - umd: - - # Define display name: - name: 'Create UMD bundle' - - # Define the type of virtual host machine on which to run the job: - runs-on: ubuntu-latest - - # Indicate that this job depends on the test job finishing: - needs: test - - # Define the sequence of job steps... - steps: - # Checkout the repository: - - name: 'Checkout repository' - # Pin action to full length commit SHA - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - # Configure Git: - - name: 'Configure Git' - run: | - git config --local user.email "noreply@stdlib.io" - git config --local user.name "stdlib-bot" - - # Check if remote `umd` branch exists: - - name: 'Check if remote `umd` branch exists' - id: umd-branch-exists - continue-on-error: true - run: | - git fetch --all - git ls-remote --exit-code --heads origin umd - if [ $? -eq 0 ]; then - echo "remote-exists=true" >> $GITHUB_OUTPUT - else - echo "remote-exists=false" >> $GITHUB_OUTPUT - fi - - # If `umd` exists, delete everything in branch and merge `production` into it - - name: 'If `umd` exists, delete everything in branch and merge `production` into it' - if: steps.umd-branch-exists.outputs.remote-exists - run: | - git checkout -b umd origin/umd - - find . -type 'f' | grep -v -e ".git/" -e "package.json" -e "README.md" -e "LICENSE" -e "CONTRIBUTORS" -e "NOTICE" | xargs -r rm - find . -mindepth 1 -type 'd' | grep -v -e ".git" | xargs -r rm -rf - - git add -A - git commit -m "Remove files" --allow-empty - - git config merge.theirs.name 'simulate `-s theirs`' - git config merge.theirs.driver 'cat %B > %A' - GIT_CONFIG_PARAMETERS="'merge.default=theirs'" git merge origin/production --allow-unrelated-histories - - # Copy files from `production` branch if necessary: - git checkout origin/production -- . - if [ -n "$(git status --porcelain)" ]; then - git add -A - git commit -m "Auto-generated commit" - fi - - # If `umd` does not exist, create `umd` branch: - - name: 'If `umd` does not exist, create `umd` branch' - if: ${{ steps.umd-branch-exists.outputs.remote-exists == false }} - run: | - git checkout production - git checkout -b umd - - # Copy files to umd directory: - - name: 'Copy files to umd directory' - run: | - mkdir -p umd - cp README.md LICENSE CONTRIBUTORS NOTICE ./umd - - # Install Node.js - - name: 'Install Node.js' - # Pin action to full length commit SHA - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 - with: - node-version: 20 - timeout-minutes: 5 - - # Install dependencies: - - name: 'Install production and development dependencies' - id: install - run: | - npm install || npm install || npm install - timeout-minutes: 15 - - # Extract alias: - - name: 'Extract alias' - id: extract-alias - run: | - alias=$(grep -E 'require\(' README.md | head -n 1 | sed -E 's/^var ([a-zA-Z0-9_]+) = .+/\1/') - echo "alias=${alias}" >> $GITHUB_OUTPUT - - # Create Universal Module Definition (UMD) Node.js bundle: - - name: 'Create Universal Module Definition (UMD) Node.js bundle' - id: umd-bundle-node - uses: stdlib-js/bundle-action@main - with: - target: 'umd-node' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Create Universal Module Definition (UMD) browser bundle: - - name: 'Create Universal Module Definition (UMD) browser bundle' - id: umd-bundle-browser - uses: stdlib-js/bundle-action@main - with: - target: 'umd-browser' - alias: ${{ steps.extract-alias.outputs.alias }} - - # Rewrite file contents: - - name: 'Rewrite file contents' - run: | - - # Replace links to other packages with links to the umd branch: - find ./umd -type f -name '*.md' -print0 | xargs -0 sed -Ei "/\/tree\/main/b; /^\[@stdlib[^:]+: https:\/\/github.com\/stdlib-js\// s/(.*)/\\1\/tree\/umd/"; - - # Remove `installation`, `cli`, and `c` sections: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/
[^<]+<\/section>//g;" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.cli \-\->//g" - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?
[\s\S]+<\!\-\- \/.c \-\->//g" - - # Rewrite first `require()` to show consumption of the UMD bundle in Observable and via a `script` tag: - find ./umd -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`javascript\n(var|let|const)\s+([a-zA-Z0-9_]+)\s+=\s*require\( '\@stdlib\/([^']+)' \);\n\`\`\`/To use in Observable,\n\n\`\`\`javascript\n\2 = require\( 'https:\/\/cdn.jsdelivr.net\/gh\/stdlib-js\/\3\@umd\/browser.js' \)\n\`\`\`\n\nTo vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:\n\n\`\`\`javascript\nvar \2 = require\( 'path\/to\/vendor\/umd\/\3\/index.js' \)\n\`\`\`\n\nTo include the bundle in a webpage,\n\n\`\`\`html\n + + + + diff --git a/test/dist/test.js b/test/dist/test.js deleted file mode 100644 index a8a9c60..0000000 --- a/test/dist/test.js +++ /dev/null @@ -1,33 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2023 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 main = require( './../../dist' ); - - -// TESTS // - -tape( 'main export is defined', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( main !== void 0, true, 'main export is defined' ); - t.end(); -}); diff --git a/test/fixtures/julia/REQUIRE b/test/fixtures/julia/REQUIRE deleted file mode 100644 index 308c3be..0000000 --- a/test/fixtures/julia/REQUIRE +++ /dev/null @@ -1,2 +0,0 @@ -julia 1.5 -JSON 0.21 diff --git a/test/fixtures/julia/bits_-1e3_1e3.json b/test/fixtures/julia/bits_-1e3_1e3.json deleted file mode 100644 index fb9fc20..0000000 --- a/test/fixtures/julia/bits_-1e3_1e3.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["11000100011110100000000000000000","11000100011110011000000011000011","11000100011110010000000110000111","11000100011110001000001001001010","11000100011110000000001100001110","11000100011101111000001111010001","11000100011101110000010010010101","11000100011101101000010101011000","11000100011101100000011000011011","11000100011101011000011011011111","11000100011101010000011110100010","11000100011101001000100001100110","11000100011101000000100100101001","11000100011100111000100111101101","11000100011100110000101010110000","11000100011100101000101101110100","11000100011100100000110000110111","11000100011100011000110011111010","11000100011100010000110110111110","11000100011100001000111010000001","11000100011100000000111101000101","11000100011011111001000000001000","11000100011011110001000011001100","11000100011011101001000110001111","11000100011011100001001001010010","11000100011011011001001100010110","11000100011011010001001111011001","11000100011011001001010010011101","11000100011011000001010101100000","11000100011010111001011000100100","11000100011010110001011011100111","11000100011010101001011110101010","11000100011010100001100001101110","11000100011010011001100100110001","11000100011010010001100111110101","11000100011010001001101010111000","11000100011010000001101101111100","11000100011001111001110000111111","11000100011001110001110100000011","11000100011001101001110111000110","11000100011001100001111010001001","11000100011001011001111101001101","11000100011001010010000000010000","11000100011001001010000011010100","11000100011001000010000110010111","11000100011000111010001001011011","11000100011000110010001100011110","11000100011000101010001111100001","11000100011000100010010010100101","11000100011000011010010101101000","11000100011000010010011000101100","11000100011000001010011011101111","11000100011000000010011110110011","11000100010111111010100001110110","11000100010111110010100100111010","11000100010111101010100111111101","11000100010111100010101011000000","11000100010111011010101110000100","11000100010111010010110001000111","11000100010111001010110100001011","11000100010111000010110111001110","11000100010110111010111010010010","11000100010110110010111101010101","11000100010110101011000000011000","11000100010110100011000011011100","11000100010110011011000110011111","11000100010110010011001001100011","11000100010110001011001100100110","11000100010110000011001111101010","11000100010101111011010010101101","11000100010101110011010101110000","11000100010101101011011000110100","11000100010101100011011011110111","11000100010101011011011110111011","11000100010101010011100001111110","11000100010101001011100101000010","11000100010101000011101000000101","11000100010100111011101011001001","11000100010100110011101110001100","11000100010100101011110001001111","11000100010100100011110100010011","11000100010100011011110111010110","11000100010100010011111010011010","11000100010100001011111101011101","11000100010100000100000000100001","11000100010011111100000011100100","11000100010011110100000110100111","11000100010011101100001001101011","11000100010011100100001100101110","11000100010011011100001111110010","11000100010011010100010010110101","11000100010011001100010101111001","11000100010011000100011000111100","11000100010010111100011011111111","11000100010010110100011111000011","11000100010010101100100010000110","11000100010010100100100101001010","11000100010010011100101000001101","11000100010010010100101011010001","11000100010010001100101110010100","11000100010010000100110001011000","11000100010001111100110100011011","11000100010001110100110111011110","11000100010001101100111010100010","11000100010001100100111101100101","11000100010001011101000000101001","11000100010001010101000011101100","11000100010001001101000110110000","11000100010001000101001001110011","11000100010000111101001100110110","11000100010000110101001111111010","11000100010000101101010010111101","11000100010000100101010110000001","11000100010000011101011001000100","11000100010000010101011100001000","11000100010000001101011111001011","11000100010000000101100010001111","11000100001111111101100101010010","11000100001111110101101000010101","11000100001111101101101011011001","11000100001111100101101110011100","11000100001111011101110001100000","11000100001111010101110100100011","11000100001111001101110111100111","11000100001111000101111010101010","11000100001110111101111101101101","11000100001110110110000000110001","11000100001110101110000011110100","11000100001110100110000110111000","11000100001110011110001001111011","11000100001110010110001100111111","11000100001110001110010000000010","11000100001110000110010011000101","11000100001101111110010110001001","11000100001101110110011001001100","11000100001101101110011100010000","11000100001101100110011111010011","11000100001101011110100010010111","11000100001101010110100101011010","11000100001101001110101000011110","11000100001101000110101011100001","11000100001100111110101110100100","11000100001100110110110001101000","11000100001100101110110100101011","11000100001100100110110111101111","11000100001100011110111010110010","11000100001100010110111101110110","11000100001100001111000000111001","11000100001100000111000011111100","11000100001011111111000111000000","11000100001011110111001010000011","11000100001011101111001101000111","11000100001011100111010000001010","11000100001011011111010011001110","11000100001011010111010110010001","11000100001011001111011001010100","11000100001011000111011100011000","11000100001010111111011111011011","11000100001010110111100010011111","11000100001010101111100101100010","11000100001010100111101000100110","11000100001010011111101011101001","11000100001010010111101110101101","11000100001010001111110001110000","11000100001010000111110100110011","11000100001001111111110111110111","11000100001001110111111010111010","11000100001001101111111101111110","11000100001001101000000001000001","11000100001001100000000100000101","11000100001001011000000111001000","11000100001001010000001010001011","11000100001001001000001101001111","11000100001001000000010000010010","11000100001000111000010011010110","11000100001000110000010110011001","11000100001000101000011001011101","11000100001000100000011100100000","11000100001000011000011111100011","11000100001000010000100010100111","11000100001000001000100101101010","11000100001000000000101000101110","11000100000111111000101011110001","11000100000111110000101110110101","11000100000111101000110001111000","11000100000111100000110100111100","11000100000111011000110111111111","11000100000111010000111011000010","11000100000111001000111110000110","11000100000111000001000001001001","11000100000110111001000100001101","11000100000110110001000111010000","11000100000110101001001010010100","11000100000110100001001101010111","11000100000110011001010000011010","11000100000110010001010011011110","11000100000110001001010110100001","11000100000110000001011001100101","11000100000101111001011100101000","11000100000101110001011111101100","11000100000101101001100010101111","11000100000101100001100101110011","11000100000101011001101000110110","11000100000101010001101011111001","11000100000101001001101110111101","11000100000101000001110010000000","11000100000100111001110101000100","11000100000100110001111000000111","11000100000100101001111011001011","11000100000100100001111110001110","11000100000100011010000001010001","11000100000100010010000100010101","11000100000100001010000111011000","11000100000100000010001010011100","11000100000011111010001101011111","11000100000011110010010000100011","11000100000011101010010011100110","11000100000011100010010110101001","11000100000011011010011001101101","11000100000011010010011100110000","11000100000011001010011111110100","11000100000011000010100010110111","11000100000010111010100101111011","11000100000010110010101000111110","11000100000010101010101100000010","11000100000010100010101111000101","11000100000010011010110010001000","11000100000010010010110101001100","11000100000010001010111000001111","11000100000010000010111011010011","11000100000001111010111110010110","11000100000001110011000001011010","11000100000001101011000100011101","11000100000001100011000111100000","11000100000001011011001010100100","11000100000001010011001101100111","11000100000001001011010000101011","11000100000001000011010011101110","11000100000000111011010110110010","11000100000000110011011001110101","11000100000000101011011100111000","11000100000000100011011111111100","11000100000000011011100010111111","11000100000000010011100110000011","11000100000000001011101001000110","11000100000000000011101100001010","11000011111111110111011110011010","11000011111111100111100100100001","11000011111111010111101010101000","11000011111111000111110000101111","11000011111110110111110110110110","11000011111110100111111100111101","11000011111110011000000011000011","11000011111110001000001001001010","11000011111101111000001111010001","11000011111101101000010101011000","11000011111101011000011011011111","11000011111101001000100001100110","11000011111100111000100111101101","11000011111100101000101101110100","11000011111100011000110011111010","11000011111100001000111010000001","11000011111011111001000000001000","11000011111011101001000110001111","11000011111011011001001100010110","11000011111011001001010010011101","11000011111010111001011000100100","11000011111010101001011110101010","11000011111010011001100100110001","11000011111010001001101010111000","11000011111001111001110000111111","11000011111001101001110111000110","11000011111001011001111101001101","11000011111001001010000011010100","11000011111000111010001001011011","11000011111000101010001111100001","11000011111000011010010101101000","11000011111000001010011011101111","11000011110111111010100001110110","11000011110111101010100111111101","11000011110111011010101110000100","11000011110111001010110100001011","11000011110110111010111010010010","11000011110110101011000000011000","11000011110110011011000110011111","11000011110110001011001100100110","11000011110101111011010010101101","11000011110101101011011000110100","11000011110101011011011110111011","11000011110101001011100101000010","11000011110100111011101011001001","11000011110100101011110001001111","11000011110100011011110111010110","11000011110100001011111101011101","11000011110011111100000011100100","11000011110011101100001001101011","11000011110011011100001111110010","11000011110011001100010101111001","11000011110010111100011011111111","11000011110010101100100010000110","11000011110010011100101000001101","11000011110010001100101110010100","11000011110001111100110100011011","11000011110001101100111010100010","11000011110001011101000000101001","11000011110001001101000110110000","11000011110000111101001100110110","11000011110000101101010010111101","11000011110000011101011001000100","11000011110000001101011111001011","11000011101111111101100101010010","11000011101111101101101011011001","11000011101111011101110001100000","11000011101111001101110111100111","11000011101110111101111101101101","11000011101110101110000011110100","11000011101110011110001001111011","11000011101110001110010000000010","11000011101101111110010110001001","11000011101101101110011100010000","11000011101101011110100010010111","11000011101101001110101000011110","11000011101100111110101110100100","11000011101100101110110100101011","11000011101100011110111010110010","11000011101100001111000000111001","11000011101011111111000111000000","11000011101011101111001101000111","11000011101011011111010011001110","11000011101011001111011001010100","11000011101010111111011111011011","11000011101010101111100101100010","11000011101010011111101011101001","11000011101010001111110001110000","11000011101001111111110111110111","11000011101001101111111101111110","11000011101001100000000100000101","11000011101001010000001010001011","11000011101001000000010000010010","11000011101000110000010110011001","11000011101000100000011100100000","11000011101000010000100010100111","11000011101000000000101000101110","11000011100111110000101110110101","11000011100111100000110100111100","11000011100111010000111011000010","11000011100111000001000001001001","11000011100110110001000111010000","11000011100110100001001101010111","11000011100110010001010011011110","11000011100110000001011001100101","11000011100101110001011111101100","11000011100101100001100101110011","11000011100101010001101011111001","11000011100101000001110010000000","11000011100100110001111000000111","11000011100100100001111110001110","11000011100100010010000100010101","11000011100100000010001010011100","11000011100011110010010000100011","11000011100011100010010110101001","11000011100011010010011100110000","11000011100011000010100010110111","11000011100010110010101000111110","11000011100010100010101111000101","11000011100010010010110101001100","11000011100010000010111011010011","11000011100001110011000001011010","11000011100001100011000111100000","11000011100001010011001101100111","11000011100001000011010011101110","11000011100000110011011001110101","11000011100000100011011111111100","11000011100000010011100110000011","11000011100000000011101100001010","11000011011111100111100100100001","11000011011111000111110000101111","11000011011110100111111100111101","11000011011110001000001001001010","11000011011101101000010101011000","11000011011101001000100001100110","11000011011100101000101101110100","11000011011100001000111010000001","11000011011011101001000110001111","11000011011011001001010010011101","11000011011010101001011110101010","11000011011010001001101010111000","11000011011001101001110111000110","11000011011001001010000011010100","11000011011000101010001111100001","11000011011000001010011011101111","11000011010111101010100111111101","11000011010111001010110100001011","11000011010110101011000000011000","11000011010110001011001100100110","11000011010101101011011000110100","11000011010101001011100101000010","11000011010100101011110001001111","11000011010100001011111101011101","11000011010011101100001001101011","11000011010011001100010101111001","11000011010010101100100010000110","11000011010010001100101110010100","11000011010001101100111010100010","11000011010001001101000110110000","11000011010000101101010010111101","11000011010000001101011111001011","11000011001111101101101011011001","11000011001111001101110111100111","11000011001110101110000011110100","11000011001110001110010000000010","11000011001101101110011100010000","11000011001101001110101000011110","11000011001100101110110100101011","11000011001100001111000000111001","11000011001011101111001101000111","11000011001011001111011001010100","11000011001010101111100101100010","11000011001010001111110001110000","11000011001001101111111101111110","11000011001001010000001010001011","11000011001000110000010110011001","11000011001000010000100010100111","11000011000111110000101110110101","11000011000111010000111011000010","11000011000110110001000111010000","11000011000110010001010011011110","11000011000101110001011111101100","11000011000101010001101011111001","11000011000100110001111000000111","11000011000100010010000100010101","11000011000011110010010000100011","11000011000011010010011100110000","11000011000010110010101000111110","11000011000010010010110101001100","11000011000001110011000001011010","11000011000001010011001101100111","11000011000000110011011001110101","11000011000000010011100110000011","11000010111111100111100100100001","11000010111110100111111100111101","11000010111101101000010101011000","11000010111100101000101101110100","11000010111011101001000110001111","11000010111010101001011110101010","11000010111001101001110111000110","11000010111000101010001111100001","11000010110111101010100111111101","11000010110110101011000000011000","11000010110101101011011000110100","11000010110100101011110001001111","11000010110011101100001001101011","11000010110010101100100010000110","11000010110001101100111010100010","11000010110000101101010010111101","11000010101111101101101011011001","11000010101110101110000011110100","11000010101101101110011100010000","11000010101100101110110100101011","11000010101011101111001101000111","11000010101010101111100101100010","11000010101001101111111101111110","11000010101000110000010110011001","11000010100111110000101110110101","11000010100110110001000111010000","11000010100101110001011111101100","11000010100100110001111000000111","11000010100011110010010000100011","11000010100010110010101000111110","11000010100001110011000001011010","11000010100000110011011001110101","11000010011111100111100100100001","11000010011101101000010101011000","11000010011011101001000110001111","11000010011001101001110111000110","11000010010111101010100111111101","11000010010101101011011000110100","11000010010011101100001001101011","11000010010001101100111010100010","11000010001111101101101011011001","11000010001101101110011100010000","11000010001011101111001101000111","11000010001001101111111101111110","11000010000111110000101110110101","11000010000101110001011111101100","11000010000011110010010000100011","11000010000001110011000001011010","11000001111111100111100100100001","11000001111011101001000110001111","11000001110111101010100111111101","11000001110011101100001001101011","11000001101111101101101011011001","11000001101011101111001101000111","11000001100111110000101110110101","11000001100011110010010000100011","11000001011111100111100100100001","11000001010111101010100111111101","11000001001111101101101011011001","11000001000111110000101110110101","11000000111111100111100100100001","11000000101111101101101011011001","11000000011111100111100100100001","10111111111111100111100100100001","00000000000000000000000000000000","00111111111111100111100100100001","01000000011111100111100100100001","01000000101111101101101011011001","01000000111111100111100100100001","01000001000111110000101110110101","01000001001111101101101011011001","01000001010111101010100111111101","01000001011111100111100100100001","01000001100011110010010000100011","01000001100111110000101110110101","01000001101011101111001101000111","01000001101111101101101011011001","01000001110011101100001001101011","01000001110111101010100111111101","01000001111011101001000110001111","01000001111111100111100100100001","01000010000001110011000001011010","01000010000011110010010000100011","01000010000101110001011111101100","01000010000111110000101110110101","01000010001001101111111101111110","01000010001011101111001101000111","01000010001101101110011100010000","01000010001111101101101011011001","01000010010001101100111010100010","01000010010011101100001001101011","01000010010101101011011000110100","01000010010111101010100111111101","01000010011001101001110111000110","01000010011011101001000110001111","01000010011101101000010101011000","01000010011111100111100100100001","01000010100000110011011001110101","01000010100001110011000001011010","01000010100010110010101000111110","01000010100011110010010000100011","01000010100100110001111000000111","01000010100101110001011111101100","01000010100110110001000111010000","01000010100111110000101110110101","01000010101000110000010110011001","01000010101001101111111101111110","01000010101010101111100101100010","01000010101011101111001101000111","01000010101100101110110100101011","01000010101101101110011100010000","01000010101110101110000011110100","01000010101111101101101011011001","01000010110000101101010010111101","01000010110001101100111010100010","01000010110010101100100010000110","01000010110011101100001001101011","01000010110100101011110001001111","01000010110101101011011000110100","01000010110110101011000000011000","01000010110111101010100111111101","01000010111000101010001111100001","01000010111001101001110111000110","01000010111010101001011110101010","01000010111011101001000110001111","01000010111100101000101101110100","01000010111101101000010101011000","01000010111110100111111100111101","01000010111111100111100100100001","01000011000000010011100110000011","01000011000000110011011001110101","01000011000001010011001101100111","01000011000001110011000001011010","01000011000010010010110101001100","01000011000010110010101000111110","01000011000011010010011100110000","01000011000011110010010000100011","01000011000100010010000100010101","01000011000100110001111000000111","01000011000101010001101011111001","01000011000101110001011111101100","01000011000110010001010011011110","01000011000110110001000111010000","01000011000111010000111011000010","01000011000111110000101110110101","01000011001000010000100010100111","01000011001000110000010110011001","01000011001001010000001010001011","01000011001001101111111101111110","01000011001010001111110001110000","01000011001010101111100101100010","01000011001011001111011001010100","01000011001011101111001101000111","01000011001100001111000000111001","01000011001100101110110100101011","01000011001101001110101000011110","01000011001101101110011100010000","01000011001110001110010000000010","01000011001110101110000011110100","01000011001111001101110111100111","01000011001111101101101011011001","01000011010000001101011111001011","01000011010000101101010010111101","01000011010001001101000110110000","01000011010001101100111010100010","01000011010010001100101110010100","01000011010010101100100010000110","01000011010011001100010101111001","01000011010011101100001001101011","01000011010100001011111101011101","01000011010100101011110001001111","01000011010101001011100101000010","01000011010101101011011000110100","01000011010110001011001100100110","01000011010110101011000000011000","01000011010111001010110100001011","01000011010111101010100111111101","01000011011000001010011011101111","01000011011000101010001111100001","01000011011001001010000011010100","01000011011001101001110111000110","01000011011010001001101010111000","01000011011010101001011110101010","01000011011011001001010010011101","01000011011011101001000110001111","01000011011100001000111010000001","01000011011100101000101101110100","01000011011101001000100001100110","01000011011101101000010101011000","01000011011110001000001001001010","01000011011110100111111100111101","01000011011111000111110000101111","01000011011111100111100100100001","01000011100000000011101100001010","01000011100000010011100110000011","01000011100000100011011111111100","01000011100000110011011001110101","01000011100001000011010011101110","01000011100001010011001101100111","01000011100001100011000111100000","01000011100001110011000001011010","01000011100010000010111011010011","01000011100010010010110101001100","01000011100010100010101111000101","01000011100010110010101000111110","01000011100011000010100010110111","01000011100011010010011100110000","01000011100011100010010110101001","01000011100011110010010000100011","01000011100100000010001010011100","01000011100100010010000100010101","01000011100100100001111110001110","01000011100100110001111000000111","01000011100101000001110010000000","01000011100101010001101011111001","01000011100101100001100101110011","01000011100101110001011111101100","01000011100110000001011001100101","01000011100110010001010011011110","01000011100110100001001101010111","01000011100110110001000111010000","01000011100111000001000001001001","01000011100111010000111011000010","01000011100111100000110100111100","01000011100111110000101110110101","01000011101000000000101000101110","01000011101000010000100010100111","01000011101000100000011100100000","01000011101000110000010110011001","01000011101001000000010000010010","01000011101001010000001010001011","01000011101001100000000100000101","01000011101001101111111101111110","01000011101001111111110111110111","01000011101010001111110001110000","01000011101010011111101011101001","01000011101010101111100101100010","01000011101010111111011111011011","01000011101011001111011001010100","01000011101011011111010011001110","01000011101011101111001101000111","01000011101011111111000111000000","01000011101100001111000000111001","01000011101100011110111010110010","01000011101100101110110100101011","01000011101100111110101110100100","01000011101101001110101000011110","01000011101101011110100010010111","01000011101101101110011100010000","01000011101101111110010110001001","01000011101110001110010000000010","01000011101110011110001001111011","01000011101110101110000011110100","01000011101110111101111101101101","01000011101111001101110111100111","01000011101111011101110001100000","01000011101111101101101011011001","01000011101111111101100101010010","01000011110000001101011111001011","01000011110000011101011001000100","01000011110000101101010010111101","01000011110000111101001100110110","01000011110001001101000110110000","01000011110001011101000000101001","01000011110001101100111010100010","01000011110001111100110100011011","01000011110010001100101110010100","01000011110010011100101000001101","01000011110010101100100010000110","01000011110010111100011011111111","01000011110011001100010101111001","01000011110011011100001111110010","01000011110011101100001001101011","01000011110011111100000011100100","01000011110100001011111101011101","01000011110100011011110111010110","01000011110100101011110001001111","01000011110100111011101011001001","01000011110101001011100101000010","01000011110101011011011110111011","01000011110101101011011000110100","01000011110101111011010010101101","01000011110110001011001100100110","01000011110110011011000110011111","01000011110110101011000000011000","01000011110110111010111010010010","01000011110111001010110100001011","01000011110111011010101110000100","01000011110111101010100111111101","01000011110111111010100001110110","01000011111000001010011011101111","01000011111000011010010101101000","01000011111000101010001111100001","01000011111000111010001001011011","01000011111001001010000011010100","01000011111001011001111101001101","01000011111001101001110111000110","01000011111001111001110000111111","01000011111010001001101010111000","01000011111010011001100100110001","01000011111010101001011110101010","01000011111010111001011000100100","01000011111011001001010010011101","01000011111011011001001100010110","01000011111011101001000110001111","01000011111011111001000000001000","01000011111100001000111010000001","01000011111100011000110011111010","01000011111100101000101101110100","01000011111100111000100111101101","01000011111101001000100001100110","01000011111101011000011011011111","01000011111101101000010101011000","01000011111101111000001111010001","01000011111110001000001001001010","01000011111110011000000011000011","01000011111110100111111100111101","01000011111110110111110110110110","01000011111111000111110000101111","01000011111111010111101010101000","01000011111111100111100100100001","01000011111111110111011110011010","01000100000000000011101100001010","01000100000000001011101001000110","01000100000000010011100110000011","01000100000000011011100010111111","01000100000000100011011111111100","01000100000000101011011100111000","01000100000000110011011001110101","01000100000000111011010110110010","01000100000001000011010011101110","01000100000001001011010000101011","01000100000001010011001101100111","01000100000001011011001010100100","01000100000001100011000111100000","01000100000001101011000100011101","01000100000001110011000001011010","01000100000001111010111110010110","01000100000010000010111011010011","01000100000010001010111000001111","01000100000010010010110101001100","01000100000010011010110010001000","01000100000010100010101111000101","01000100000010101010101100000010","01000100000010110010101000111110","01000100000010111010100101111011","01000100000011000010100010110111","01000100000011001010011111110100","01000100000011010010011100110000","01000100000011011010011001101101","01000100000011100010010110101001","01000100000011101010010011100110","01000100000011110010010000100011","01000100000011111010001101011111","01000100000100000010001010011100","01000100000100001010000111011000","01000100000100010010000100010101","01000100000100011010000001010001","01000100000100100001111110001110","01000100000100101001111011001011","01000100000100110001111000000111","01000100000100111001110101000100","01000100000101000001110010000000","01000100000101001001101110111101","01000100000101010001101011111001","01000100000101011001101000110110","01000100000101100001100101110011","01000100000101101001100010101111","01000100000101110001011111101100","01000100000101111001011100101000","01000100000110000001011001100101","01000100000110001001010110100001","01000100000110010001010011011110","01000100000110011001010000011010","01000100000110100001001101010111","01000100000110101001001010010100","01000100000110110001000111010000","01000100000110111001000100001101","01000100000111000001000001001001","01000100000111001000111110000110","01000100000111010000111011000010","01000100000111011000110111111111","01000100000111100000110100111100","01000100000111101000110001111000","01000100000111110000101110110101","01000100000111111000101011110001","01000100001000000000101000101110","01000100001000001000100101101010","01000100001000010000100010100111","01000100001000011000011111100011","01000100001000100000011100100000","01000100001000101000011001011101","01000100001000110000010110011001","01000100001000111000010011010110","01000100001001000000010000010010","01000100001001001000001101001111","01000100001001010000001010001011","01000100001001011000000111001000","01000100001001100000000100000101","01000100001001101000000001000001","01000100001001101111111101111110","01000100001001110111111010111010","01000100001001111111110111110111","01000100001010000111110100110011","01000100001010001111110001110000","01000100001010010111101110101101","01000100001010011111101011101001","01000100001010100111101000100110","01000100001010101111100101100010","01000100001010110111100010011111","01000100001010111111011111011011","01000100001011000111011100011000","01000100001011001111011001010100","01000100001011010111010110010001","01000100001011011111010011001110","01000100001011100111010000001010","01000100001011101111001101000111","01000100001011110111001010000011","01000100001011111111000111000000","01000100001100000111000011111100","01000100001100001111000000111001","01000100001100010110111101110110","01000100001100011110111010110010","01000100001100100110110111101111","01000100001100101110110100101011","01000100001100110110110001101000","01000100001100111110101110100100","01000100001101000110101011100001","01000100001101001110101000011110","01000100001101010110100101011010","01000100001101011110100010010111","01000100001101100110011111010011","01000100001101101110011100010000","01000100001101110110011001001100","01000100001101111110010110001001","01000100001110000110010011000101","01000100001110001110010000000010","01000100001110010110001100111111","01000100001110011110001001111011","01000100001110100110000110111000","01000100001110101110000011110100","01000100001110110110000000110001","01000100001110111101111101101101","01000100001111000101111010101010","01000100001111001101110111100111","01000100001111010101110100100011","01000100001111011101110001100000","01000100001111100101101110011100","01000100001111101101101011011001","01000100001111110101101000010101","01000100001111111101100101010010","01000100010000000101100010001111","01000100010000001101011111001011","01000100010000010101011100001000","01000100010000011101011001000100","01000100010000100101010110000001","01000100010000101101010010111101","01000100010000110101001111111010","01000100010000111101001100110110","01000100010001000101001001110011","01000100010001001101000110110000","01000100010001010101000011101100","01000100010001011101000000101001","01000100010001100100111101100101","01000100010001101100111010100010","01000100010001110100110111011110","01000100010001111100110100011011","01000100010010000100110001011000","01000100010010001100101110010100","01000100010010010100101011010001","01000100010010011100101000001101","01000100010010100100100101001010","01000100010010101100100010000110","01000100010010110100011111000011","01000100010010111100011011111111","01000100010011000100011000111100","01000100010011001100010101111001","01000100010011010100010010110101","01000100010011011100001111110010","01000100010011100100001100101110","01000100010011101100001001101011","01000100010011110100000110100111","01000100010011111100000011100100","01000100010100000100000000100001","01000100010100001011111101011101","01000100010100010011111010011010","01000100010100011011110111010110","01000100010100100011110100010011","01000100010100101011110001001111","01000100010100110011101110001100","01000100010100111011101011001001","01000100010101000011101000000101","01000100010101001011100101000010","01000100010101010011100001111110","01000100010101011011011110111011","01000100010101100011011011110111","01000100010101101011011000110100","01000100010101110011010101110000","01000100010101111011010010101101","01000100010110000011001111101010","01000100010110001011001100100110","01000100010110010011001001100011","01000100010110011011000110011111","01000100010110100011000011011100","01000100010110101011000000011000","01000100010110110010111101010101","01000100010110111010111010010010","01000100010111000010110111001110","01000100010111001010110100001011","01000100010111010010110001000111","01000100010111011010101110000100","01000100010111100010101011000000","01000100010111101010100111111101","01000100010111110010100100111010","01000100010111111010100001110110","01000100011000000010011110110011","01000100011000001010011011101111","01000100011000010010011000101100","01000100011000011010010101101000","01000100011000100010010010100101","01000100011000101010001111100001","01000100011000110010001100011110","01000100011000111010001001011011","01000100011001000010000110010111","01000100011001001010000011010100","01000100011001010010000000010000","01000100011001011001111101001101","01000100011001100001111010001001","01000100011001101001110111000110","01000100011001110001110100000011","01000100011001111001110000111111","01000100011010000001101101111100","01000100011010001001101010111000","01000100011010010001100111110101","01000100011010011001100100110001","01000100011010100001100001101110","01000100011010101001011110101010","01000100011010110001011011100111","01000100011010111001011000100100","01000100011011000001010101100000","01000100011011001001010010011101","01000100011011010001001111011001","01000100011011011001001100010110","01000100011011100001001001010010","01000100011011101001000110001111","01000100011011110001000011001100","01000100011011111001000000001000","01000100011100000000111101000101","01000100011100001000111010000001","01000100011100010000110110111110","01000100011100011000110011111010","01000100011100100000110000110111","01000100011100101000101101110100","01000100011100110000101010110000","01000100011100111000100111101101","01000100011101000000100100101001","01000100011101001000100001100110","01000100011101010000011110100010","01000100011101011000011011011111","01000100011101100000011000011011","01000100011101101000010101011000","01000100011101110000010010010101","01000100011101111000001111010001","01000100011110000000001100001110","01000100011110001000001001001010","01000100011110010000000110000111","01000100011110011000000011000011","01000100011110100000000000000000"],"x":[-1000.0,-998.0119018554688,-996.0238647460938,-994.0357666015625,-992.0477294921875,-990.0596313476562,-988.0715942382812,-986.08349609375,-984.0953979492188,-982.1073608398438,-980.1192626953125,-978.1312255859375,-976.1431274414062,-974.1550903320312,-972.1669921875,-970.178955078125,-968.1908569335938,-966.2027587890625,-964.2147216796875,-962.2266235351562,-960.2385864257812,-958.25048828125,-956.262451171875,-954.2743530273438,-952.2862548828125,-950.2982177734375,-948.3101196289062,-946.3220825195312,-944.333984375,-942.345947265625,-940.3578491210938,-938.3697509765625,-936.3817138671875,-934.3936157226562,-932.4055786132812,-930.41748046875,-928.429443359375,-926.4413452148438,-924.4533081054688,-922.4652099609375,-920.4771118164062,-918.4890747070312,-916.5009765625,-914.512939453125,-912.5248413085938,-910.5368041992188,-908.5487060546875,-906.5606079101562,-904.5725708007812,-902.58447265625,-900.596435546875,-898.6083374023438,-896.6203002929688,-894.6322021484375,-892.6441650390625,-890.6560668945312,-888.66796875,-886.679931640625,-884.6918334960938,-882.7037963867188,-880.7156982421875,-878.7276611328125,-876.7395629882812,-874.75146484375,-872.763427734375,-870.7753295898438,-868.7872924804688,-866.7991943359375,-864.8111572265625,-862.8230590820312,-860.8349609375,-858.846923828125,-856.8588256835938,-854.8707885742188,-852.8826904296875,-850.8946533203125,-848.9065551757812,-846.9185180664062,-844.930419921875,-842.9423217773438,-840.9542846679688,-838.9661865234375,-836.9781494140625,-834.9900512695312,-833.0020141601562,-831.013916015625,-829.0258178710938,-827.0377807617188,-825.0496826171875,-823.0616455078125,-821.0735473632812,-819.0855102539062,-817.097412109375,-815.1093139648438,-813.1212768554688,-811.1331787109375,-809.1451416015625,-807.1570434570312,-805.1690063476562,-803.180908203125,-801.19287109375,-799.2047729492188,-797.2166748046875,-795.2286376953125,-793.2405395507812,-791.2525024414062,-789.264404296875,-787.2763671875,-785.2882690429688,-783.3001708984375,-781.3121337890625,-779.3240356445312,-777.3359985351562,-775.347900390625,-773.35986328125,-771.3717651367188,-769.3837280273438,-767.3956298828125,-765.4075317382812,-763.4194946289062,-761.431396484375,-759.443359375,-757.4552612304688,-755.4672241210938,-753.4791259765625,-751.4910278320312,-749.5029907226562,-747.514892578125,-745.52685546875,-743.5387573242188,-741.5507202148438,-739.5626220703125,-737.5745239257812,-735.5864868164062,-733.598388671875,-731.6103515625,-729.6222534179688,-727.6342163085938,-725.6461181640625,-723.6580810546875,-721.6699829101562,-719.681884765625,-717.69384765625,-715.7057495117188,-713.7177124023438,-711.7296142578125,-709.7415771484375,-707.7534790039062,-705.765380859375,-703.77734375,-701.7892456054688,-699.8012084960938,-697.8131103515625,-695.8250732421875,-693.8369750976562,-691.848876953125,-689.86083984375,-687.8727416992188,-685.8847045898438,-683.8966064453125,-681.9085693359375,-679.9204711914062,-677.9324340820312,-675.9443359375,-673.9562377929688,-671.9682006835938,-669.9801025390625,-667.9920654296875,-666.0039672851562,-664.0159301757812,-662.02783203125,-660.0397338867188,-658.0516967773438,-656.0635986328125,-654.0755615234375,-652.0874633789062,-650.0994262695312,-648.111328125,-646.1232299804688,-644.1351928710938,-642.1470947265625,-640.1590576171875,-638.1709594726562,-636.1829223632812,-634.19482421875,-632.206787109375,-630.2186889648438,-628.2305908203125,-626.2425537109375,-624.2544555664062,-622.2664184570312,-620.2783203125,-618.290283203125,-616.3021850585938,-614.3140869140625,-612.3260498046875,-610.3379516601562,-608.3499145507812,-606.36181640625,-604.373779296875,-602.3856811523438,-600.3976440429688,-598.4095458984375,-596.4214477539062,-594.4334106445312,-592.4453125,-590.457275390625,-588.4691772460938,-586.4811401367188,-584.4930419921875,-582.5049438476562,-580.5169067382812,-578.52880859375,-576.540771484375,-574.5526733398438,-572.5646362304688,-570.5765380859375,-568.5884399414062,-566.6004028320312,-564.6123046875,-562.624267578125,-560.6361694335938,-558.6481323242188,-556.6600341796875,-554.6719970703125,-552.6838989257812,-550.69580078125,-548.707763671875,-546.7196655273438,-544.7316284179688,-542.7435302734375,-540.7554931640625,-538.7673950195312,-536.779296875,-534.791259765625,-532.8031616210938,-530.8151245117188,-528.8270263671875,-526.8389892578125,-524.8508911132812,-522.86279296875,-520.874755859375,-518.8866577148438,-516.8986206054688,-514.9105224609375,-512.9224853515625,-510.93438720703125,-508.9463195800781,-506.958251953125,-504.9701843261719,-502.98211669921875,-500.9940490722656,-499.0059509277344,-497.01788330078125,-495.0298156738281,-493.041748046875,-491.0536804199219,-489.06561279296875,-487.0775451660156,-485.0894775390625,-483.10137939453125,-481.1133117675781,-479.125244140625,-477.1371765136719,-475.14910888671875,-473.1610412597656,-471.1729736328125,-469.18487548828125,-467.1968078613281,-465.208740234375,-463.2206726074219,-461.23260498046875,-459.2445373535156,-457.2564697265625,-455.2684020996094,-453.2803039550781,-451.292236328125,-449.3041687011719,-447.31610107421875,-445.3280334472656,-443.3399658203125,-441.3518981933594,-439.36383056640625,-437.375732421875,-435.3876647949219,-433.39959716796875,-431.4115295410156,-429.4234619140625,-427.4353942871094,-425.44732666015625,-423.4592590332031,-421.4711608886719,-419.48309326171875,-417.4950256347656,-415.5069580078125,-413.5188903808594,-411.53082275390625,-409.5427551269531,-407.5546569824219,-405.56658935546875,-403.5785217285156,-401.5904541015625,-399.6023864746094,-397.61431884765625,-395.6262512207031,-393.63818359375,-391.65008544921875,-389.6620178222656,-387.6739501953125,-385.6858825683594,-383.69781494140625,-381.7097473144531,-379.7216796875,-377.7336120605469,-375.7455139160156,-373.7574462890625,-371.7693786621094,-369.78131103515625,-367.7932434082031,-365.80517578125,-363.8171081542969,-361.82904052734375,-359.8409423828125,-357.8528747558594,-355.86480712890625,-353.8767395019531,-351.888671875,-349.9006042480469,-347.91253662109375,-345.9244384765625,-343.9363708496094,-341.94830322265625,-339.9602355957031,-337.97216796875,-335.9841003417969,-333.99603271484375,-332.0079650878906,-330.0198669433594,-328.03179931640625,-326.0437316894531,-324.0556640625,-322.0675964355469,-320.07952880859375,-318.0914611816406,-316.1033935546875,-314.11529541015625,-312.1272277832031,-310.13916015625,-308.1510925292969,-306.16302490234375,-304.1749572753906,-302.1868896484375,-300.1988220214844,-298.2107238769531,-296.22265625,-294.2345886230469,-292.24652099609375,-290.2584533691406,-288.2703857421875,-286.2823181152344,-284.2942199707031,-282.30615234375,-280.3180847167969,-278.33001708984375,-276.3419494628906,-274.3538818359375,-272.3658142089844,-270.37774658203125,-268.3896484375,-266.4015808105469,-264.41351318359375,-262.4254455566406,-260.4373779296875,-258.4493103027344,-256.46124267578125,-254.47315979003906,-252.48509216308594,-250.4970245361328,-248.50894165039062,-246.5208740234375,-244.53280639648438,-242.54473876953125,-240.55665588378906,-238.56858825683594,-236.5805206298828,-234.59243774414062,-232.6043701171875,-230.61630249023438,-228.62823486328125,-226.64015197753906,-224.65208435058594,-222.6640167236328,-220.6759490966797,-218.6878662109375,-216.69979858398438,-214.71173095703125,-212.72366333007812,-210.73558044433594,-208.7475128173828,-206.7594451904297,-204.77137756347656,-202.78329467773438,-200.79522705078125,-198.80715942382812,-196.819091796875,-194.8310089111328,-192.8429412841797,-190.85487365722656,-188.86680603027344,-186.87872314453125,-184.89065551757812,-182.902587890625,-180.91452026367188,-178.9264373779297,-176.93836975097656,-174.95030212402344,-172.96221923828125,-170.97415161132812,-168.986083984375,-166.99801635742188,-165.0099334716797,-163.02186584472656,-161.03379821777344,-159.0457305908203,-157.05764770507812,-155.069580078125,-153.08151245117188,-151.09344482421875,-149.10536193847656,-147.11729431152344,-145.1292266845703,-143.1411590576172,-141.153076171875,-139.16500854492188,-137.17694091796875,-135.18887329101562,-133.20079040527344,-131.2127227783203,-129.2246551513672,-127.23657989501953,-125.2485122680664,-123.26043701171875,-121.27236938476562,-119.28429412841797,-117.29621887207031,-115.30815124511719,-113.32007598876953,-111.3320083618164,-109.34393310546875,-107.35586547851562,-105.36779022216797,-103.37972259521484,-101.39164733886719,-99.40357971191406,-97.4155044555664,-95.42743682861328,-93.43936157226562,-91.4512939453125,-89.46321868896484,-87.47515106201172,-85.48707580566406,-83.49900817871094,-81.51093292236328,-79.52286529541016,-77.5347900390625,-75.54672241210938,-73.55864715576172,-71.5705795288086,-69.58250427246094,-67.59443664550781,-65.60636138916016,-63.618289947509766,-61.630218505859375,-59.642147064208984,-57.654075622558594,-55.6660041809082,-53.67793273925781,-51.68986129760742,-49.70178985595703,-47.71371841430664,-45.72564697265625,-43.73757553100586,-41.74950408935547,-39.76143264770508,-37.77336120605469,-35.7852897644043,-33.797218322753906,-31.809144973754883,-29.821073532104492,-27.8330020904541,-25.84493064880371,-23.85685920715332,-21.86878776550293,-19.88071632385254,-17.89264488220215,-15.904572486877441,-13.91650104522705,-11.92842960357666,-9.94035816192627,-7.952286243438721,-5.96421480178833,-3.9761431217193604,-1.9880715608596802,0.0,1.9880715608596802,3.9761431217193604,5.96421480178833,7.952286243438721,9.94035816192627,11.92842960357666,13.91650104522705,15.904572486877441,17.89264488220215,19.88071632385254,21.86878776550293,23.85685920715332,25.84493064880371,27.8330020904541,29.821073532104492,31.809144973754883,33.797218322753906,35.7852897644043,37.77336120605469,39.76143264770508,41.74950408935547,43.73757553100586,45.72564697265625,47.71371841430664,49.70178985595703,51.68986129760742,53.67793273925781,55.6660041809082,57.654075622558594,59.642147064208984,61.630218505859375,63.618289947509766,65.60636138916016,67.59443664550781,69.58250427246094,71.5705795288086,73.55864715576172,75.54672241210938,77.5347900390625,79.52286529541016,81.51093292236328,83.49900817871094,85.48707580566406,87.47515106201172,89.46321868896484,91.4512939453125,93.43936157226562,95.42743682861328,97.4155044555664,99.40357971191406,101.39164733886719,103.37972259521484,105.36779022216797,107.35586547851562,109.34393310546875,111.3320083618164,113.32007598876953,115.30815124511719,117.29621887207031,119.28429412841797,121.27236938476562,123.26043701171875,125.2485122680664,127.23657989501953,129.2246551513672,131.2127227783203,133.20079040527344,135.18887329101562,137.17694091796875,139.16500854492188,141.153076171875,143.1411590576172,145.1292266845703,147.11729431152344,149.10536193847656,151.09344482421875,153.08151245117188,155.069580078125,157.05764770507812,159.0457305908203,161.03379821777344,163.02186584472656,165.0099334716797,166.99801635742188,168.986083984375,170.97415161132812,172.96221923828125,174.95030212402344,176.93836975097656,178.9264373779297,180.91452026367188,182.902587890625,184.89065551757812,186.87872314453125,188.86680603027344,190.85487365722656,192.8429412841797,194.8310089111328,196.819091796875,198.80715942382812,200.79522705078125,202.78329467773438,204.77137756347656,206.7594451904297,208.7475128173828,210.73558044433594,212.72366333007812,214.71173095703125,216.69979858398438,218.6878662109375,220.6759490966797,222.6640167236328,224.65208435058594,226.64015197753906,228.62823486328125,230.61630249023438,232.6043701171875,234.59243774414062,236.5805206298828,238.56858825683594,240.55665588378906,242.54473876953125,244.53280639648438,246.5208740234375,248.50894165039062,250.4970245361328,252.48509216308594,254.47315979003906,256.46124267578125,258.4493103027344,260.4373779296875,262.4254455566406,264.41351318359375,266.4015808105469,268.3896484375,270.37774658203125,272.3658142089844,274.3538818359375,276.3419494628906,278.33001708984375,280.3180847167969,282.30615234375,284.2942199707031,286.2823181152344,288.2703857421875,290.2584533691406,292.24652099609375,294.2345886230469,296.22265625,298.2107238769531,300.1988220214844,302.1868896484375,304.1749572753906,306.16302490234375,308.1510925292969,310.13916015625,312.1272277832031,314.11529541015625,316.1033935546875,318.0914611816406,320.07952880859375,322.0675964355469,324.0556640625,326.0437316894531,328.03179931640625,330.0198669433594,332.0079650878906,333.99603271484375,335.9841003417969,337.97216796875,339.9602355957031,341.94830322265625,343.9363708496094,345.9244384765625,347.91253662109375,349.9006042480469,351.888671875,353.8767395019531,355.86480712890625,357.8528747558594,359.8409423828125,361.82904052734375,363.8171081542969,365.80517578125,367.7932434082031,369.78131103515625,371.7693786621094,373.7574462890625,375.7455139160156,377.7336120605469,379.7216796875,381.7097473144531,383.69781494140625,385.6858825683594,387.6739501953125,389.6620178222656,391.65008544921875,393.63818359375,395.6262512207031,397.61431884765625,399.6023864746094,401.5904541015625,403.5785217285156,405.56658935546875,407.5546569824219,409.5427551269531,411.53082275390625,413.5188903808594,415.5069580078125,417.4950256347656,419.48309326171875,421.4711608886719,423.4592590332031,425.44732666015625,427.4353942871094,429.4234619140625,431.4115295410156,433.39959716796875,435.3876647949219,437.375732421875,439.36383056640625,441.3518981933594,443.3399658203125,445.3280334472656,447.31610107421875,449.3041687011719,451.292236328125,453.2803039550781,455.2684020996094,457.2564697265625,459.2445373535156,461.23260498046875,463.2206726074219,465.208740234375,467.1968078613281,469.18487548828125,471.1729736328125,473.1610412597656,475.14910888671875,477.1371765136719,479.125244140625,481.1133117675781,483.10137939453125,485.0894775390625,487.0775451660156,489.06561279296875,491.0536804199219,493.041748046875,495.0298156738281,497.01788330078125,499.0059509277344,500.9940490722656,502.98211669921875,504.9701843261719,506.958251953125,508.9463195800781,510.93438720703125,512.9224853515625,514.9105224609375,516.8986206054688,518.8866577148438,520.874755859375,522.86279296875,524.8508911132812,526.8389892578125,528.8270263671875,530.8151245117188,532.8031616210938,534.791259765625,536.779296875,538.7673950195312,540.7554931640625,542.7435302734375,544.7316284179688,546.7196655273438,548.707763671875,550.69580078125,552.6838989257812,554.6719970703125,556.6600341796875,558.6481323242188,560.6361694335938,562.624267578125,564.6123046875,566.6004028320312,568.5884399414062,570.5765380859375,572.5646362304688,574.5526733398438,576.540771484375,578.52880859375,580.5169067382812,582.5049438476562,584.4930419921875,586.4811401367188,588.4691772460938,590.457275390625,592.4453125,594.4334106445312,596.4214477539062,598.4095458984375,600.3976440429688,602.3856811523438,604.373779296875,606.36181640625,608.3499145507812,610.3379516601562,612.3260498046875,614.3140869140625,616.3021850585938,618.290283203125,620.2783203125,622.2664184570312,624.2544555664062,626.2425537109375,628.2305908203125,630.2186889648438,632.206787109375,634.19482421875,636.1829223632812,638.1709594726562,640.1590576171875,642.1470947265625,644.1351928710938,646.1232299804688,648.111328125,650.0994262695312,652.0874633789062,654.0755615234375,656.0635986328125,658.0516967773438,660.0397338867188,662.02783203125,664.0159301757812,666.0039672851562,667.9920654296875,669.9801025390625,671.9682006835938,673.9562377929688,675.9443359375,677.9324340820312,679.9204711914062,681.9085693359375,683.8966064453125,685.8847045898438,687.8727416992188,689.86083984375,691.848876953125,693.8369750976562,695.8250732421875,697.8131103515625,699.8012084960938,701.7892456054688,703.77734375,705.765380859375,707.7534790039062,709.7415771484375,711.7296142578125,713.7177124023438,715.7057495117188,717.69384765625,719.681884765625,721.6699829101562,723.6580810546875,725.6461181640625,727.6342163085938,729.6222534179688,731.6103515625,733.598388671875,735.5864868164062,737.5745239257812,739.5626220703125,741.5507202148438,743.5387573242188,745.52685546875,747.514892578125,749.5029907226562,751.4910278320312,753.4791259765625,755.4672241210938,757.4552612304688,759.443359375,761.431396484375,763.4194946289062,765.4075317382812,767.3956298828125,769.3837280273438,771.3717651367188,773.35986328125,775.347900390625,777.3359985351562,779.3240356445312,781.3121337890625,783.3001708984375,785.2882690429688,787.2763671875,789.264404296875,791.2525024414062,793.2405395507812,795.2286376953125,797.2166748046875,799.2047729492188,801.19287109375,803.180908203125,805.1690063476562,807.1570434570312,809.1451416015625,811.1331787109375,813.1212768554688,815.1093139648438,817.097412109375,819.0855102539062,821.0735473632812,823.0616455078125,825.0496826171875,827.0377807617188,829.0258178710938,831.013916015625,833.0020141601562,834.9900512695312,836.9781494140625,838.9661865234375,840.9542846679688,842.9423217773438,844.930419921875,846.9185180664062,848.9065551757812,850.8946533203125,852.8826904296875,854.8707885742188,856.8588256835938,858.846923828125,860.8349609375,862.8230590820312,864.8111572265625,866.7991943359375,868.7872924804688,870.7753295898438,872.763427734375,874.75146484375,876.7395629882812,878.7276611328125,880.7156982421875,882.7037963867188,884.6918334960938,886.679931640625,888.66796875,890.6560668945312,892.6441650390625,894.6322021484375,896.6203002929688,898.6083374023438,900.596435546875,902.58447265625,904.5725708007812,906.5606079101562,908.5487060546875,910.5368041992188,912.5248413085938,914.512939453125,916.5009765625,918.4890747070312,920.4771118164062,922.4652099609375,924.4533081054688,926.4413452148438,928.429443359375,930.41748046875,932.4055786132812,934.3936157226562,936.3817138671875,938.3697509765625,940.3578491210938,942.345947265625,944.333984375,946.3220825195312,948.3101196289062,950.2982177734375,952.2862548828125,954.2743530273438,956.262451171875,958.25048828125,960.2385864257812,962.2266235351562,964.2147216796875,966.2027587890625,968.1908569335938,970.178955078125,972.1669921875,974.1550903320312,976.1431274414062,978.1312255859375,980.1192626953125,982.1073608398438,984.0953979492188,986.08349609375,988.0715942382812,990.0596313476562,992.0477294921875,994.0357666015625,996.0238647460938,998.0119018554688,1000.0]} diff --git a/test/fixtures/julia/bits_1e-36_1e-38.json b/test/fixtures/julia/bits_1e-36_1e-38.json deleted file mode 100644 index 7d4bc51..0000000 --- a/test/fixtures/julia/bits_1e-36_1e-38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000011101010100010010000100101","00000011101010011111100101001000","00000011101010011100111001101011","00000011101010011010001110001110","00000011101010010111100010110000","00000011101010010100110111010011","00000011101010010010001011110110","00000011101010001111100000011001","00000011101010001100110100111100","00000011101010001010001001011111","00000011101010000111011110000010","00000011101010000100110010100101","00000011101010000010000111001000","00000011101001111111011011101011","00000011101001111100110000001110","00000011101001111010000100110001","00000011101001110111011001010100","00000011101001110100101101110111","00000011101001110010000010011010","00000011101001101111010110111101","00000011101001101100101011100000","00000011101001101010000000000011","00000011101001100111010100100110","00000011101001100100101001001001","00000011101001100001111101101100","00000011101001011111010010001111","00000011101001011100100110110010","00000011101001011001111011010101","00000011101001010111001111111000","00000011101001010100100100011011","00000011101001010001111000111110","00000011101001001111001101100001","00000011101001001100100010000100","00000011101001001001110110100111","00000011101001000111001011001010","00000011101001000100011111101101","00000011101001000001110100001111","00000011101000111111001000110010","00000011101000111100011101010101","00000011101000111001110001111000","00000011101000110111000110011011","00000011101000110100011010111110","00000011101000110001101111100001","00000011101000101111000100000100","00000011101000101100011000100111","00000011101000101001101101001010","00000011101000100111000001101101","00000011101000100100010110010000","00000011101000100001101010110011","00000011101000011110111111010110","00000011101000011100010011111001","00000011101000011001101000011100","00000011101000010110111100111111","00000011101000010100010001100010","00000011101000010001100110000101","00000011101000001110111010101000","00000011101000001100001111001011","00000011101000001001100011101110","00000011101000000110111000010001","00000011101000000100001100110100","00000011101000000001100001010111","00000011100111111110110101111010","00000011100111111100001010011101","00000011100111111001011111000000","00000011100111110110110011100011","00000011100111110100001000000110","00000011100111110001011100101001","00000011100111101110110001001100","00000011100111101100000101101111","00000011100111101001011010010001","00000011100111100110101110110100","00000011100111100100000011010111","00000011100111100001010111111010","00000011100111011110101100011101","00000011100111011100000001000000","00000011100111011001010101100011","00000011100111010110101010000110","00000011100111010011111110101001","00000011100111010001010011001100","00000011100111001110100111101111","00000011100111001011111100010010","00000011100111001001010000110101","00000011100111000110100101011000","00000011100111000011111001111011","00000011100111000001001110011110","00000011100110111110100011000001","00000011100110111011110111100100","00000011100110111001001100000111","00000011100110110110100000101010","00000011100110110011110101001101","00000011100110110001001001110000","00000011100110101110011110010011","00000011100110101011110010110110","00000011100110101001000111011001","00000011100110100110011011111100","00000011100110100011110000011111","00000011100110100001000101000010","00000011100110011110011001100101","00000011100110011011101110001000","00000011100110011001000010101011","00000011100110010110010111001110","00000011100110010011101011110000","00000011100110010001000000010011","00000011100110001110010100110110","00000011100110001011101001011001","00000011100110001000111101111100","00000011100110000110010010011111","00000011100110000011100111000010","00000011100110000000111011100101","00000011100101111110010000001000","00000011100101111011100100101011","00000011100101111000111001001110","00000011100101110110001101110001","00000011100101110011100010010100","00000011100101110000110110110111","00000011100101101110001011011010","00000011100101101011011111111101","00000011100101101000110100100000","00000011100101100110001001000011","00000011100101100011011101100110","00000011100101100000110010001001","00000011100101011110000110101100","00000011100101011011011011001111","00000011100101011000101111110010","00000011100101010110000100010101","00000011100101010011011000111000","00000011100101010000101101011011","00000011100101001110000001111110","00000011100101001011010110100001","00000011100101001000101011000100","00000011100101000101111111100111","00000011100101000011010100001010","00000011100101000000101000101101","00000011100100111101111101010000","00000011100100111011010001110010","00000011100100111000100110010101","00000011100100110101111010111000","00000011100100110011001111011011","00000011100100110000100011111110","00000011100100101101111000100001","00000011100100101011001101000100","00000011100100101000100001100111","00000011100100100101110110001010","00000011100100100011001010101101","00000011100100100000011111010000","00000011100100011101110011110011","00000011100100011011001000010110","00000011100100011000011100111001","00000011100100010101110001011100","00000011100100010011000101111111","00000011100100010000011010100010","00000011100100001101101111000101","00000011100100001011000011101000","00000011100100001000011000001011","00000011100100000101101100101110","00000011100100000011000001010001","00000011100100000000010101110100","00000011100011111101101010010111","00000011100011111010111110111010","00000011100011111000010011011101","00000011100011110101101000000000","00000011100011110010111100100011","00000011100011110000010001000110","00000011100011101101100101101001","00000011100011101010111010001100","00000011100011101000001110101111","00000011100011100101100011010010","00000011100011100010110111110100","00000011100011100000001100010111","00000011100011011101100000111010","00000011100011011010110101011101","00000011100011011000001010000000","00000011100011010101011110100011","00000011100011010010110011000110","00000011100011010000000111101001","00000011100011001101011100001100","00000011100011001010110000101111","00000011100011001000000101010010","00000011100011000101011001110101","00000011100011000010101110011000","00000011100011000000000010111011","00000011100010111101010111011110","00000011100010111010101100000001","00000011100010111000000000100100","00000011100010110101010101000111","00000011100010110010101001101010","00000011100010101111111110001101","00000011100010101101010010110000","00000011100010101010100111010011","00000011100010100111111011110110","00000011100010100101010000011001","00000011100010100010100100111100","00000011100010011111111001011111","00000011100010011101001110000010","00000011100010011010100010100101","00000011100010010111110111001000","00000011100010010101001011101011","00000011100010010010100000001110","00000011100010001111110100110001","00000011100010001101001001010011","00000011100010001010011101110110","00000011100010000111110010011001","00000011100010000101000110111100","00000011100010000010011011011111","00000011100001111111110000000010","00000011100001111101000100100101","00000011100001111010011001001000","00000011100001110111101101101011","00000011100001110101000010001110","00000011100001110010010110110001","00000011100001101111101011010100","00000011100001101100111111110111","00000011100001101010010100011010","00000011100001100111101000111101","00000011100001100100111101100000","00000011100001100010010010000011","00000011100001011111100110100110","00000011100001011100111011001001","00000011100001011010001111101100","00000011100001010111100100001111","00000011100001010100111000110010","00000011100001010010001101010101","00000011100001001111100001111000","00000011100001001100110110011011","00000011100001001010001010111110","00000011100001000111011111100001","00000011100001000100110100000100","00000011100001000010001000100111","00000011100000111111011101001010","00000011100000111100110001101101","00000011100000111010000110010000","00000011100000110111011010110011","00000011100000110100101111010101","00000011100000110010000011111000","00000011100000101111011000011011","00000011100000101100101100111110","00000011100000101010000001100001","00000011100000100111010110000100","00000011100000100100101010100111","00000011100000100001111111001010","00000011100000011111010011101101","00000011100000011100101000010000","00000011100000011001111100110011","00000011100000010111010001010110","00000011100000010100100101111001","00000011100000010001111010011100","00000011100000001111001110111111","00000011100000001100100011100010","00000011100000001001111000000101","00000011100000000111001100101000","00000011100000000100100001001011","00000011100000000001110101101110","00000011011111111110010100100010","00000011011111111000111101101000","00000011011111110011100110101110","00000011011111101110001111110100","00000011011111101000111000111001","00000011011111100011100001111111","00000011011111011110001011000101","00000011011111011000110100001011","00000011011111010011011101010001","00000011011111001110000110010111","00000011011111001000101111011101","00000011011111000011011000100011","00000011011110111110000001101001","00000011011110111000101010101111","00000011011110110011010011110101","00000011011110101101111100111011","00000011011110101000100110000001","00000011011110100011001111000111","00000011011110011101111000001101","00000011011110011000100001010011","00000011011110010011001010011001","00000011011110001101110011011110","00000011011110001000011100100100","00000011011110000011000101101010","00000011011101111101101110110000","00000011011101111000010111110110","00000011011101110011000000111100","00000011011101101101101010000010","00000011011101101000010011001000","00000011011101100010111100001110","00000011011101011101100101010100","00000011011101011000001110011010","00000011011101010010110111100000","00000011011101001101100000100110","00000011011101001000001001101100","00000011011101000010110010110010","00000011011100111101011011111000","00000011011100111000000100111101","00000011011100110010101110000011","00000011011100101101010111001001","00000011011100101000000000001111","00000011011100100010101001010101","00000011011100011101010010011011","00000011011100010111111011100001","00000011011100010010100100100111","00000011011100001101001101101101","00000011011100000111110110110011","00000011011100000010011111111001","00000011011011111101001000111111","00000011011011110111110010000101","00000011011011110010011011001011","00000011011011101101000100010001","00000011011011100111101101010111","00000011011011100010010110011100","00000011011011011100111111100010","00000011011011010111101000101000","00000011011011010010010001101110","00000011011011001100111010110100","00000011011011000111100011111010","00000011011011000010001101000000","00000011011010111100110110000110","00000011011010110111011111001100","00000011011010110010001000010010","00000011011010101100110001011000","00000011011010100111011010011110","00000011011010100010000011100100","00000011011010011100101100101010","00000011011010010111010101110000","00000011011010010001111110110110","00000011011010001100100111111011","00000011011010000111010001000001","00000011011010000001111010000111","00000011011001111100100011001101","00000011011001110111001100010011","00000011011001110001110101011001","00000011011001101100011110011111","00000011011001100111000111100101","00000011011001100001110000101011","00000011011001011100011001110001","00000011011001010111000010110111","00000011011001010001101011111101","00000011011001001100010101000011","00000011011001000110111110001001","00000011011001000001100111001111","00000011011000111100010000010101","00000011011000110110111001011011","00000011011000110001100010100000","00000011011000101100001011100110","00000011011000100110110100101100","00000011011000100001011101110010","00000011011000011100000110111000","00000011011000010110101111111110","00000011011000010001011001000100","00000011011000001100000010001010","00000011011000000110101011010000","00000011011000000001010100010110","00000011010111111011111101011100","00000011010111110110100110100010","00000011010111110001001111101000","00000011010111101011111000101110","00000011010111100110100001110100","00000011010111100001001010111010","00000011010111011011110011111111","00000011010111010110011101000101","00000011010111010001000110001011","00000011010111001011101111010001","00000011010111000110011000010111","00000011010111000001000001011101","00000011010110111011101010100011","00000011010110110110010011101001","00000011010110110000111100101111","00000011010110101011100101110101","00000011010110100110001110111011","00000011010110100000111000000001","00000011010110011011100001000111","00000011010110010110001010001101","00000011010110010000110011010011","00000011010110001011011100011001","00000011010110000110000101011110","00000011010110000000101110100100","00000011010101111011010111101010","00000011010101110110000000110000","00000011010101110000101001110110","00000011010101101011010010111100","00000011010101100101111100000010","00000011010101100000100101001000","00000011010101011011001110001110","00000011010101010101110111010100","00000011010101010000100000011010","00000011010101001011001001100000","00000011010101000101110010100110","00000011010101000000011011101100","00000011010100111011000100110010","00000011010100110101101101111000","00000011010100110000010110111110","00000011010100101011000000000011","00000011010100100101101001001001","00000011010100100000010010001111","00000011010100011010111011010101","00000011010100010101100100011011","00000011010100010000001101100001","00000011010100001010110110100111","00000011010100000101011111101101","00000011010100000000001000110011","00000011010011111010110001111001","00000011010011110101011010111111","00000011010011110000000100000101","00000011010011101010101101001011","00000011010011100101010110010001","00000011010011011111111111010111","00000011010011011010101000011101","00000011010011010101010001100010","00000011010011001111111010101000","00000011010011001010100011101110","00000011010011000101001100110100","00000011010010111111110101111010","00000011010010111010011111000000","00000011010010110101001000000110","00000011010010101111110001001100","00000011010010101010011010010010","00000011010010100101000011011000","00000011010010011111101100011110","00000011010010011010010101100100","00000011010010010100111110101010","00000011010010001111100111110000","00000011010010001010010000110110","00000011010010000100111001111100","00000011010001111111100011000001","00000011010001111010001100000111","00000011010001110100110101001101","00000011010001101111011110010011","00000011010001101010000111011001","00000011010001100100110000011111","00000011010001011111011001100101","00000011010001011010000010101011","00000011010001010100101011110001","00000011010001001111010100110111","00000011010001001001111101111101","00000011010001000100100111000011","00000011010000111111010000001001","00000011010000111001111001001111","00000011010000110100100010010101","00000011010000101111001011011011","00000011010000101001110100100000","00000011010000100100011101100110","00000011010000011111000110101100","00000011010000011001101111110010","00000011010000010100011000111000","00000011010000001111000001111110","00000011010000001001101011000100","00000011010000000100010100001010","00000011001111111110111101010000","00000011001111111001100110010110","00000011001111110100001111011100","00000011001111101110111000100010","00000011001111101001100001101000","00000011001111100100001010101110","00000011001111011110110011110100","00000011001111011001011100111010","00000011001111010100000110000000","00000011001111001110101111000101","00000011001111001001011000001011","00000011001111000100000001010001","00000011001110111110101010010111","00000011001110111001010011011101","00000011001110110011111100100011","00000011001110101110100101101001","00000011001110101001001110101111","00000011001110100011110111110101","00000011001110011110100000111011","00000011001110011001001010000001","00000011001110010011110011000111","00000011001110001110011100001101","00000011001110001001000101010011","00000011001110000011101110011001","00000011001101111110010111011111","00000011001101111001000000100100","00000011001101110011101001101010","00000011001101101110010010110000","00000011001101101000111011110110","00000011001101100011100100111100","00000011001101011110001110000010","00000011001101011000110111001000","00000011001101010011100000001110","00000011001101001110001001010100","00000011001101001000110010011010","00000011001101000011011011100000","00000011001100111110000100100110","00000011001100111000101101101100","00000011001100110011010110110010","00000011001100101101111111111000","00000011001100101000101000111110","00000011001100100011010010000011","00000011001100011101111011001001","00000011001100011000100100001111","00000011001100010011001101010101","00000011001100001101110110011011","00000011001100001000011111100001","00000011001100000011001000100111","00000011001011111101110001101101","00000011001011111000011010110011","00000011001011110011000011111001","00000011001011101101101100111111","00000011001011101000010110000101","00000011001011100010111111001011","00000011001011011101101000010001","00000011001011011000010001010111","00000011001011010010111010011101","00000011001011001101100011100011","00000011001011001000001100101000","00000011001011000010110101101110","00000011001010111101011110110100","00000011001010111000000111111010","00000011001010110010110001000000","00000011001010101101011010000110","00000011001010101000000011001100","00000011001010100010101100010010","00000011001010011101010101011000","00000011001010010111111110011110","00000011001010010010100111100100","00000011001010001101010000101010","00000011001010000111111001110000","00000011001010000010100010110110","00000011001001111101001011111100","00000011001001110111110101000010","00000011001001110010011110000111","00000011001001101101000111001101","00000011001001100111110000010011","00000011001001100010011001011001","00000011001001011101000010011111","00000011001001010111101011100101","00000011001001010010010100101011","00000011001001001100111101110001","00000011001001000111100110110111","00000011001001000010001111111101","00000011001000111100111001000011","00000011001000110111100010001001","00000011001000110010001011001111","00000011001000101100110100010101","00000011001000100111011101011011","00000011001000100010000110100001","00000011001000011100101111100110","00000011001000010111011000101100","00000011001000010010000001110010","00000011001000001100101010111000","00000011001000000111010011111110","00000011001000000001111101000100","00000011000111111100100110001010","00000011000111110111001111010000","00000011000111110001111000010110","00000011000111101100100001011100","00000011000111100111001010100010","00000011000111100001110011101000","00000011000111011100011100101110","00000011000111010111000101110100","00000011000111010001101110111010","00000011000111001100011000000000","00000011000111000111000001000110","00000011000111000001101010001011","00000011000110111100010011010001","00000011000110110110111100010111","00000011000110110001100101011101","00000011000110101100001110100011","00000011000110100110110111101001","00000011000110100001100000101111","00000011000110011100001001110101","00000011000110010110110010111011","00000011000110010001011100000001","00000011000110001100000101000111","00000011000110000110101110001101","00000011000110000001010111010011","00000011000101111100000000011001","00000011000101110110101001011111","00000011000101110001010010100101","00000011000101101011111011101010","00000011000101100110100100110000","00000011000101100001001101110110","00000011000101011011110110111100","00000011000101010110100000000010","00000011000101010001001001001000","00000011000101001011110010001110","00000011000101000110011011010100","00000011000101000001000100011010","00000011000100111011101101100000","00000011000100110110010110100110","00000011000100110000111111101100","00000011000100101011101000110010","00000011000100100110010001111000","00000011000100100000111010111110","00000011000100011011100100000100","00000011000100010110001101001001","00000011000100010000110110001111","00000011000100001011011111010101","00000011000100000110001000011011","00000011000100000000110001100001","00000011000011111011011010100111","00000011000011110110000011101101","00000011000011110000101100110011","00000011000011101011010101111001","00000011000011100101111110111111","00000011000011100000101000000101","00000011000011011011010001001011","00000011000011010101111010010001","00000011000011010000100011010111","00000011000011001011001100011101","00000011000011000101110101100011","00000011000011000000011110101000","00000011000010111011000111101110","00000011000010110101110000110100","00000011000010110000011001111010","00000011000010101011000011000000","00000011000010100101101100000110","00000011000010100000010101001100","00000011000010011010111110010010","00000011000010010101100111011000","00000011000010010000010000011110","00000011000010001010111001100100","00000011000010000101100010101010","00000011000010000000001011110000","00000011000001111010110100110110","00000011000001110101011101111100","00000011000001110000000111000010","00000011000001101010110000001000","00000011000001100101011001001101","00000011000001100000000010010011","00000011000001011010101011011001","00000011000001010101010100011111","00000011000001001111111101100101","00000011000001001010100110101011","00000011000001000101001111110001","00000011000000111111111000110111","00000011000000111010100001111101","00000011000000110101001011000011","00000011000000101111110100001001","00000011000000101010011101001111","00000011000000100101000110010101","00000011000000011111101111011011","00000011000000011010011000100001","00000011000000010101000001100111","00000011000000001111101010101100","00000011000000001010010011110010","00000011000000000100111100111000","00000010111111111111001011111101","00000010111111110100011110001000","00000010111111101001110000010100","00000010111111011111000010100000","00000010111111010100010100101100","00000010111111001001100110111000","00000010111110111110111001000100","00000010111110110100001011010000","00000010111110101001011101011100","00000010111110011110101111100111","00000010111110010100000001110011","00000010111110001001010011111111","00000010111101111110100110001011","00000010111101110011111000010111","00000010111101101001001010100011","00000010111101011110011100101111","00000010111101010011101110111011","00000010111101001001000001000110","00000010111100111110010011010010","00000010111100110011100101011110","00000010111100101000110111101010","00000010111100011110001001110110","00000010111100010011011100000010","00000010111100001000101110001110","00000010111011111110000000011010","00000010111011110011010010100110","00000010111011101000100100110001","00000010111011011101110110111101","00000010111011010011001001001001","00000010111011001000011011010101","00000010111010111101101101100001","00000010111010110010111111101101","00000010111010101000010001111001","00000010111010011101100100000101","00000010111010010010110110010000","00000010111010001000001000011100","00000010111001111101011010101000","00000010111001110010101100110100","00000010111001100111111111000000","00000010111001011101010001001100","00000010111001010010100011011000","00000010111001000111110101100100","00000010111000111101000111101111","00000010111000110010011001111011","00000010111000100111101100000111","00000010111000011100111110010011","00000010111000010010010000011111","00000010111000000111100010101011","00000010110111111100110100110111","00000010110111110010000111000011","00000010110111100111011001001110","00000010110111011100101011011010","00000010110111010001111101100110","00000010110111000111001111110010","00000010110110111100100001111110","00000010110110110001110100001010","00000010110110100111000110010110","00000010110110011100011000100010","00000010110110010001101010101101","00000010110110000110111100111001","00000010110101111100001111000101","00000010110101110001100001010001","00000010110101100110110011011101","00000010110101011100000101101001","00000010110101010001010111110101","00000010110101000110101010000001","00000010110100111011111100001100","00000010110100110001001110011000","00000010110100100110100000100100","00000010110100011011110010110000","00000010110100010001000100111100","00000010110100000110010111001000","00000010110011111011101001010100","00000010110011110000111011100000","00000010110011100110001101101011","00000010110011011011011111110111","00000010110011010000110010000011","00000010110011000110000100001111","00000010110010111011010110011011","00000010110010110000101000100111","00000010110010100101111010110011","00000010110010011011001100111111","00000010110010010000011111001011","00000010110010000101110001010110","00000010110001111011000011100010","00000010110001110000010101101110","00000010110001100101100111111010","00000010110001011010111010000110","00000010110001010000001100010010","00000010110001000101011110011110","00000010110000111010110000101010","00000010110000110000000010110101","00000010110000100101010101000001","00000010110000011010100111001101","00000010110000001111111001011001","00000010110000000101001011100101","00000010101111111010011101110001","00000010101111101111101111111101","00000010101111100101000010001001","00000010101111011010010100010100","00000010101111001111100110100000","00000010101111000100111000101100","00000010101110111010001010111000","00000010101110101111011101000100","00000010101110100100101111010000","00000010101110011010000001011100","00000010101110001111010011101000","00000010101110000100100101110011","00000010101101111001110111111111","00000010101101101111001010001011","00000010101101100100011100010111","00000010101101011001101110100011","00000010101101001111000000101111","00000010101101000100010010111011","00000010101100111001100101000111","00000010101100101110110111010010","00000010101100100100001001011110","00000010101100011001011011101010","00000010101100001110101101110110","00000010101100000100000000000010","00000010101011111001010010001110","00000010101011101110100100011010","00000010101011100011110110100110","00000010101011011001001000110001","00000010101011001110011010111101","00000010101011000011101101001001","00000010101010111000111111010101","00000010101010101110010001100001","00000010101010100011100011101101","00000010101010011000110101111001","00000010101010001110001000000101","00000010101010000011011010010000","00000010101001111000101100011100","00000010101001101101111110101000","00000010101001100011010000110100","00000010101001011000100011000000","00000010101001001101110101001100","00000010101001000011000111011000","00000010101000111000011001100100","00000010101000101101101011110000","00000010101000100010111101111011","00000010101000011000010000000111","00000010101000001101100010010011","00000010101000000010110100011111","00000010100111111000000110101011","00000010100111101101011000110111","00000010100111100010101011000011","00000010100111010111111101001111","00000010100111001101001111011010","00000010100111000010100001100110","00000010100110110111110011110010","00000010100110101101000101111110","00000010100110100010011000001010","00000010100110010111101010010110","00000010100110001100111100100010","00000010100110000010001110101110","00000010100101110111100000111001","00000010100101101100110011000101","00000010100101100010000101010001","00000010100101010111010111011101","00000010100101001100101001101001","00000010100101000001111011110101","00000010100100110111001110000001","00000010100100101100100000001101","00000010100100100001110010011000","00000010100100010111000100100100","00000010100100001100010110110000","00000010100100000001101000111100","00000010100011110110111011001000","00000010100011101100001101010100","00000010100011100001011111100000","00000010100011010110110001101100","00000010100011001100000011110111","00000010100011000001010110000011","00000010100010110110101000001111","00000010100010101011111010011011","00000010100010100001001100100111","00000010100010010110011110110011","00000010100010001011110000111111","00000010100010000001000011001011","00000010100001110110010101010110","00000010100001101011100111100010","00000010100001100000111001101110","00000010100001010110001011111010","00000010100001001011011110000110","00000010100001000000110000010010","00000010100000110110000010011110","00000010100000101011010100101010","00000010100000100000100110110101","00000010100000010101111001000001","00000010100000001011001011001101","00000010100000000000011101011001","00000010011111101011011111001010","00000010011111010110000011100010","00000010011111000000100111111010","00000010011110101011001100010001","00000010011110010101110000101001","00000010011110000000010101000001","00000010011101101010111001011001","00000010011101010101011101110000","00000010011101000000000010001000","00000010011100101010100110100000","00000010011100010101001010111000","00000010011011111111101111001111","00000010011011101010010011100111","00000010011011010100110111111111","00000010011010111111011100010111","00000010011010101010000000101110","00000010011010010100100101000110","00000010011001111111001001011110","00000010011001101001101101110110","00000010011001010100010010001101","00000010011000111110110110100101","00000010011000101001011010111101","00000010011000010011111111010101","00000010010111111110100011101100","00000010010111101001001000000100","00000010010111010011101100011100","00000010010110111110010000110100","00000010010110101000110101001011","00000010010110010011011001100011","00000010010101111101111101111011","00000010010101101000100010010011","00000010010101010011000110101010","00000010010100111101101011000010","00000010010100101000001111011010","00000010010100010010110011110010","00000010010011111101011000001001","00000010010011100111111100100001","00000010010011010010100000111001","00000010010010111101000101010001","00000010010010100111101001101000","00000010010010010010001110000000","00000010010001111100110010011000","00000010010001100111010110110000","00000010010001010001111011000111","00000010010000111100011111011111","00000010010000100111000011110111","00000010010000010001101000001111","00000010001111111100001100100110","00000010001111100110110000111110","00000010001111010001010101010110","00000010001110111011111001101110","00000010001110100110011110000101","00000010001110010001000010011101","00000010001101111011100110110101","00000010001101100110001011001101","00000010001101010000101111100100","00000010001100111011010011111100","00000010001100100101111000010100","00000010001100010000011100101100","00000010001011111011000001000100","00000010001011100101100101011011","00000010001011010000001001110011","00000010001010111010101110001011","00000010001010100101010010100011","00000010001010001111110110111010","00000010001001111010011011010010","00000010001001100100111111101010","00000010001001001111100100000010","00000010001000111010001000011001","00000010001000100100101100110001","00000010001000001111010001001001","00000010000111111001110101100001","00000010000111100100011001111000","00000010000111001110111110010000","00000010000110111001100010101000","00000010000110100100000111000000","00000010000110001110101011010111","00000010000101111001001111101111","00000010000101100011110100000111","00000010000101001110011000011111","00000010000100111000111100110110","00000010000100100011100001001110","00000010000100001110000101100110","00000010000011111000101001111110","00000010000011100011001110010101","00000010000011001101110010101101","00000010000010111000010111000101","00000010000010100010111011011101","00000010000010001101011111110100","00000010000001111000000100001100","00000010000001100010101000100100","00000010000001001101001100111100","00000010000000110111110001010011","00000010000000100010010101101011","00000010000000001100111010000011","00000001111111101110111100110101","00000001111111000100000101100101","00000001111110011001001110010100","00000001111101101110010111000100","00000001111101000011011111110011","00000001111100011000101000100011","00000001111011101101110001010010","00000001111011000010111010000010","00000001111010011000000010110001","00000001111001101101001011100001","00000001111001000010010100010000","00000001111000010111011101000000","00000001110111101100100101101111","00000001110111000001101110011111","00000001110110010110110111001110","00000001110101101011111111111110","00000001110101000001001000101101","00000001110100010110010001011101","00000001110011101011011010001101","00000001110011000000100010111100","00000001110010010101101011101100","00000001110001101010110100011011","00000001110000111111111101001011","00000001110000010101000101111010","00000001101111101010001110101010","00000001101110111111010111011001","00000001101110010100100000001001","00000001101101101001101000111000","00000001101100111110110001101000","00000001101100010011111010010111","00000001101011101001000011000111","00000001101010111110001011110110","00000001101010010011010100100110","00000001101001101000011101010101","00000001101000111101100110000101","00000001101000010010101110110100","00000001100111100111110111100100","00000001100110111101000000010011","00000001100110010010001001000011","00000001100101100111010001110010","00000001100100111100011010100010","00000001100100010001100011010001","00000001100011100110101100000001","00000001100010111011110100110000","00000001100010010000111101100000","00000001100001100110000110001111","00000001100000111011001110111111","00000001100000010000010111101110","00000001011111001011000000111100","00000001011101110101010010011011","00000001011100011111100011111010","00000001011011001001110101011001","00000001011001110100000110111000","00000001011000011110011000010111","00000001010111001000101001110110","00000001010101110010111011010101","00000001010100011101001100110100","00000001010011000111011110010011","00000001010001110001101111110010","00000001010000011100000001010001","00000001001111000110010010110000","00000001001101110000100100001111","00000001001100011010110101101110","00000001001011000101000111001101","00000001001001101111011000101100","00000001001000011001101010001011","00000001000111000011111011101010","00000001000101101110001101001001","00000001000100011000011110101000","00000001000011000010110000000111","00000001000001101101000001100110","00000001000000010111010011000101","00000000111110000011001001001000","00000000111011010111101100000110","00000000111000101100001111000100","00000000110110000000110010000010","00000000110011010101010101000000","00000000110000101001110111111110","00000000101101111110011010111100","00000000101011010010111101111010","00000000101000100111100000111000","00000000100101111100000011110110","00000000100011010000100110110100","00000000100000100101001001110010","00000000011101111001101100110000","00000000011011001110001111101110"],"x":[1.0000000359391298e-36,9.990159432639915e-37,9.980318505888532e-37,9.970477579137149e-37,9.960635755554748e-37,9.950794828803365e-37,9.940953902051982e-37,9.931112975300599e-37,9.921272048549216e-37,9.911431121797832e-37,9.90159019504645e-37,9.891749268295066e-37,9.881908341543683e-37,9.8720674147923e-37,9.862226488040917e-37,9.852385561289533e-37,9.84254463453815e-37,9.832703707786767e-37,9.822862781035384e-37,9.813021854284e-37,9.803180927532617e-37,9.793340000781234e-37,9.783499074029851e-37,9.773658147278468e-37,9.763817220527085e-37,9.753976293775702e-37,9.744135367024318e-37,9.734294440272935e-37,9.724453513521552e-37,9.714612586770169e-37,9.704771660018786e-37,9.694930733267403e-37,9.68508980651602e-37,9.675248879764636e-37,9.665407953013253e-37,9.65556702626187e-37,9.64572520267947e-37,9.635884275928086e-37,9.626043349176703e-37,9.61620242242532e-37,9.606361495673937e-37,9.596520568922554e-37,9.58667964217117e-37,9.576838715419787e-37,9.566997788668404e-37,9.55715686191702e-37,9.547315935165638e-37,9.537475008414254e-37,9.527634081662871e-37,9.517793154911488e-37,9.507952228160105e-37,9.498111301408722e-37,9.488270374657339e-37,9.478429447905955e-37,9.468588521154572e-37,9.458747594403189e-37,9.448906667651806e-37,9.439065740900423e-37,9.42922481414904e-37,9.419383887397656e-37,9.409542960646273e-37,9.39970203389489e-37,9.389861107143507e-37,9.380020180392124e-37,9.37017925364074e-37,9.360338326889357e-37,9.350497400137974e-37,9.340656473386591e-37,9.330815546635208e-37,9.320973723052807e-37,9.311132796301424e-37,9.301291869550041e-37,9.291450942798658e-37,9.281610016047275e-37,9.271769089295891e-37,9.261928162544508e-37,9.252087235793125e-37,9.242246309041742e-37,9.232405382290359e-37,9.222564455538976e-37,9.212723528787592e-37,9.20288260203621e-37,9.193041675284826e-37,9.183200748533443e-37,9.17335982178206e-37,9.163518895030676e-37,9.153677968279293e-37,9.14383704152791e-37,9.133996114776527e-37,9.124155188025144e-37,9.11431426127376e-37,9.104473334522377e-37,9.094632407770994e-37,9.084791481019611e-37,9.074950554268228e-37,9.065109627516845e-37,9.055268700765462e-37,9.045427774014078e-37,9.035586847262695e-37,9.025745920511312e-37,9.015904993759929e-37,9.006063170177528e-37,8.996222243426145e-37,8.986381316674762e-37,8.976540389923379e-37,8.966699463171996e-37,8.956858536420613e-37,8.94701760966923e-37,8.937176682917846e-37,8.927335756166463e-37,8.91749482941508e-37,8.907653902663697e-37,8.897812975912313e-37,8.88797204916093e-37,8.878131122409547e-37,8.868290195658164e-37,8.85844926890678e-37,8.848608342155398e-37,8.838767415404014e-37,8.828926488652631e-37,8.819085561901248e-37,8.809244635149865e-37,8.799403708398482e-37,8.789562781647099e-37,8.779721854895715e-37,8.769880928144332e-37,8.760040001392949e-37,8.750199074641566e-37,8.740358147890183e-37,8.7305172211388e-37,8.720676294387416e-37,8.710835367636033e-37,8.70099444088465e-37,8.691153514133267e-37,8.681311690550866e-37,8.671470763799483e-37,8.6616298370481e-37,8.651788910296717e-37,8.641947983545334e-37,8.63210705679395e-37,8.622266130042567e-37,8.612425203291184e-37,8.602584276539801e-37,8.592743349788418e-37,8.582902423037035e-37,8.573061496285651e-37,8.563220569534268e-37,8.553379642782885e-37,8.543538716031502e-37,8.533697789280119e-37,8.523856862528735e-37,8.514015935777352e-37,8.504175009025969e-37,8.494334082274586e-37,8.484493155523203e-37,8.47465222877182e-37,8.464811302020436e-37,8.454970375269053e-37,8.44512944851767e-37,8.435288521766287e-37,8.425447595014904e-37,8.41560666826352e-37,8.405765741512137e-37,8.395924814760754e-37,8.386083888009371e-37,8.376242961257988e-37,8.366402034506605e-37,8.356560210924204e-37,8.346719284172821e-37,8.336878357421438e-37,8.327037430670055e-37,8.317196503918672e-37,8.307355577167288e-37,8.297514650415905e-37,8.287673723664522e-37,8.277832796913139e-37,8.267991870161756e-37,8.258150943410372e-37,8.24831001665899e-37,8.238469089907606e-37,8.228628163156223e-37,8.21878723640484e-37,8.208946309653457e-37,8.199105382902073e-37,8.18926445615069e-37,8.179423529399307e-37,8.169582602647924e-37,8.15974167589654e-37,8.149900749145158e-37,8.140059822393774e-37,8.130218895642391e-37,8.120377968891008e-37,8.110537042139625e-37,8.100696115388242e-37,8.090855188636858e-37,8.081014261885475e-37,8.071173335134092e-37,8.061332408382709e-37,8.051491481631326e-37,8.041649658048925e-37,8.031808731297542e-37,8.021967804546159e-37,8.012126877794776e-37,8.002285951043393e-37,7.99244502429201e-37,7.982604097540626e-37,7.972763170789243e-37,7.96292224403786e-37,7.953081317286477e-37,7.943240390535094e-37,7.93339946378371e-37,7.923558537032327e-37,7.913717610280944e-37,7.903876683529561e-37,7.894035756778178e-37,7.884194830026795e-37,7.874353903275411e-37,7.864512976524028e-37,7.854672049772645e-37,7.844831123021262e-37,7.834990196269879e-37,7.825149269518495e-37,7.815308342767112e-37,7.805467416015729e-37,7.795626489264346e-37,7.785785562512963e-37,7.77594463576158e-37,7.766103709010196e-37,7.756262782258813e-37,7.74642185550743e-37,7.736580928756047e-37,7.726740002004664e-37,7.716898178422263e-37,7.70705725167088e-37,7.697216324919497e-37,7.687375398168114e-37,7.67753447141673e-37,7.667693544665347e-37,7.657852617913964e-37,7.648011691162581e-37,7.638170764411198e-37,7.628329837659815e-37,7.618488910908431e-37,7.608647984157048e-37,7.598807057405665e-37,7.588966130654282e-37,7.579125203902899e-37,7.569284277151516e-37,7.559443350400132e-37,7.54960242364875e-37,7.539761496897366e-37,7.529920570145983e-37,7.5200796433946e-37,7.5102387166432165e-37,7.500397789891833e-37,7.49055686314045e-37,7.480715487973558e-37,7.470874561222175e-37,7.461033634470792e-37,7.451192707719409e-37,7.441351780968026e-37,7.4315108542166425e-37,7.421669927465259e-37,7.411829000713876e-37,7.401988073962493e-37,7.39214714721111e-37,7.382306220459727e-37,7.3724652937083434e-37,7.36262436695696e-37,7.352783440205577e-37,7.342942513454194e-37,7.333101586702811e-37,7.3232606599514275e-37,7.313419284784536e-37,7.303578358033153e-37,7.293737431281769e-37,7.283896504530386e-37,7.274055577779003e-37,7.26421465102762e-37,7.254373724276237e-37,7.2445327975248535e-37,7.23469187077347e-37,7.224850944022087e-37,7.215010017270704e-37,7.205169090519321e-37,7.195328163767938e-37,7.1854872370165544e-37,7.175646310265171e-37,7.165805383513788e-37,7.155964008346896e-37,7.146123081595513e-37,7.13628215484413e-37,7.126441228092747e-37,7.116600301341364e-37,7.10675937458998e-37,7.096918447838597e-37,7.087077521087214e-37,7.077236594335831e-37,7.067395667584448e-37,7.0575547408330645e-37,7.047713814081681e-37,7.037872887330298e-37,7.028031960578915e-37,7.018191033827532e-37,7.008350107076149e-37,6.998508731909257e-37,6.988667805157874e-37,6.9788268784064905e-37,6.968985951655107e-37,6.959145024903724e-37,6.949304098152341e-37,6.939463171400958e-37,6.929622244649575e-37,6.9197813178981914e-37,6.909940391146808e-37,6.900099464395425e-37,6.890258537644042e-37,6.880417610892659e-37,6.8705766841412755e-37,6.860735757389892e-37,6.850894830638509e-37,6.841053455471617e-37,6.831212528720234e-37,6.821371601968851e-37,6.811530675217468e-37,6.801689748466085e-37,6.7918488217147015e-37,6.782007894963318e-37,6.772166968211935e-37,6.762326041460552e-37,6.752485114709169e-37,6.742644187957786e-37,6.7328032612064024e-37,6.722962334455019e-37,6.713121407703636e-37,6.703280480952253e-37,6.69343955420087e-37,6.6835986274494865e-37,6.673757252282595e-37,6.663916325531212e-37,6.654075398779828e-37,6.644234472028445e-37,6.634393545277062e-37,6.624552618525679e-37,6.614711691774296e-37,6.6048707650229125e-37,6.595029838271529e-37,6.585188911520146e-37,6.575347984768763e-37,6.56550705801738e-37,6.555666131265997e-37,6.5458252045146134e-37,6.53598427776323e-37,6.526143351011847e-37,6.516301975844955e-37,6.506461049093572e-37,6.496620122342189e-37,6.486779195590806e-37,6.476938268839423e-37,6.4670973420880394e-37,6.457256415336656e-37,6.447415488585273e-37,6.43757456183389e-37,6.427733635082507e-37,6.4178927083311235e-37,6.40805178157974e-37,6.398210854828357e-37,6.388369928076974e-37,6.378529001325591e-37,6.368688074574208e-37,6.358846699407316e-37,6.349005772655933e-37,6.3391648459045495e-37,6.329323919153166e-37,6.319482992401783e-37,6.3096420656504e-37,6.299801138899017e-37,6.289960212147634e-37,6.2801192853962504e-37,6.270278358644867e-37,6.260437431893484e-37,6.250596505142101e-37,6.240755578390718e-37,6.2309146516393345e-37,6.221073724887951e-37,6.211232798136568e-37,6.201391871385185e-37,6.191550496218293e-37,6.18170956946691e-37,6.171868642715527e-37,6.162027715964144e-37,6.1521867892127605e-37,6.142345862461377e-37,6.132504935709994e-37,6.122664008958611e-37,6.112823082207228e-37,6.102982155455845e-37,6.0931412287044614e-37,6.083300301953078e-37,6.073459375201695e-37,6.063618448450312e-37,6.053777521698929e-37,6.0439365949475455e-37,6.034095219780654e-37,6.024254293029271e-37,6.0144133662778874e-37,6.004572439526504e-37,5.994731512775121e-37,5.984890586023738e-37,5.975049659272355e-37,5.9652087325209715e-37,5.955367805769588e-37,5.945526879018205e-37,5.935685952266822e-37,5.925845025515439e-37,5.916004098764056e-37,5.9061631720126725e-37,5.896322245261289e-37,5.886481318509906e-37,5.876639943343014e-37,5.866799016591631e-37,5.856958089840248e-37,5.847117163088865e-37,5.837276236337482e-37,5.8274353095860984e-37,5.817594382834715e-37,5.807753456083332e-37,5.797912529331949e-37,5.788071602580566e-37,5.7782306758291825e-37,5.768389749077799e-37,5.758548822326416e-37,5.748707895575033e-37,5.73886696882365e-37,5.729026042072267e-37,5.719184666905375e-37,5.709343740153992e-37,5.6995028134026085e-37,5.689661886651225e-37,5.679820959899842e-37,5.669980033148459e-37,5.660139106397076e-37,5.650298179645693e-37,5.6404572528943094e-37,5.630616326142926e-37,5.620775399391543e-37,5.61093447264016e-37,5.601093545888777e-37,5.5912526191373935e-37,5.58141169238601e-37,5.571570765634627e-37,5.561729838883244e-37,5.551888463716352e-37,5.542047536964969e-37,5.532206610213586e-37,5.522365683462203e-37,5.5125247567108195e-37,5.502683829959436e-37,5.492842903208053e-37,5.48300197645667e-37,5.473161049705287e-37,5.463320122953904e-37,5.4534791962025204e-37,5.443638269451137e-37,5.433797342699754e-37,5.423956415948371e-37,5.414115489196988e-37,5.4042745624456046e-37,5.394433187278713e-37,5.38459226052733e-37,5.3747513337759464e-37,5.364910407024563e-37,5.35506948027318e-37,5.345228553521797e-37,5.335387626770414e-37,5.3255467000190305e-37,5.315705773267647e-37,5.305864846516264e-37,5.296023919764881e-37,5.286182993013498e-37,5.276342066262115e-37,5.2665011395107315e-37,5.256660212759348e-37,5.246819286007965e-37,5.236977910841073e-37,5.22713698408969e-37,5.217296057338307e-37,5.207455130586924e-37,5.197614203835541e-37,5.1877732770841574e-37,5.177932350332774e-37,5.168091423581391e-37,5.158250496830008e-37,5.148409570078625e-37,5.1385686433272415e-37,5.128727716575858e-37,5.118886789824475e-37,5.109045863073092e-37,5.099204936321709e-37,5.089364009570326e-37,5.0795230828189425e-37,5.069681707652051e-37,5.0598407809006675e-37,5.049999854149284e-37,5.040158927397901e-37,5.030318000646518e-37,5.020477073895135e-37,5.010636147143752e-37,5.0007952203923684e-37,4.990954293640985e-37,4.981113366889602e-37,4.971272440138219e-37,4.961431513386836e-37,4.9515905866354526e-37,4.941749659884069e-37,4.931908733132686e-37,4.922067806381303e-37,4.912226431214411e-37,4.902385504463028e-37,4.892544577711645e-37,4.882703650960262e-37,4.8728627242088785e-37,4.863021797457495e-37,4.853180870706112e-37,4.843339943954729e-37,4.833499017203346e-37,4.823658090451963e-37,4.8138171637005795e-37,4.803976236949196e-37,4.794135310197813e-37,4.78429438344643e-37,4.774453456695047e-37,4.7646125299436636e-37,4.754771154776772e-37,4.744930228025389e-37,4.7350893012740054e-37,4.725248374522622e-37,4.715407447771239e-37,4.705566521019856e-37,4.695725594268473e-37,4.6858846675170895e-37,4.676043740765706e-37,4.666202814014323e-37,4.65636188726294e-37,4.646520960511557e-37,4.636680033760174e-37,4.6268391070087905e-37,4.616998180257407e-37,4.607157253506024e-37,4.597316326754641e-37,4.587474951587749e-37,4.577634024836366e-37,4.567793098084983e-37,4.5579521713336e-37,4.5481112445822164e-37,4.538270317830833e-37,4.52842939107945e-37,4.518588464328067e-37,4.508747537576684e-37,4.4989066108253005e-37,4.489065684073917e-37,4.479224757322534e-37,4.469383830571151e-37,4.459542903819768e-37,4.449701977068385e-37,4.4398610503170015e-37,4.43001967515011e-37,4.4201787483987265e-37,4.410337821647343e-37,4.40049689489596e-37,4.390655968144577e-37,4.380815041393194e-37,4.370974114641811e-37,4.3611331878904275e-37,4.351292261139044e-37,4.341451334387661e-37,4.331610407636278e-37,4.321769480884895e-37,4.3119285541335116e-37,4.302087627382128e-37,4.292246700630745e-37,4.282405773879362e-37,4.27256439871247e-37,4.262723471961087e-37,4.252882545209704e-37,4.243041618458321e-37,4.2332006917069375e-37,4.223359764955554e-37,4.213518838204171e-37,4.203677911452788e-37,4.193836984701405e-37,4.183996057950022e-37,4.1741551311986385e-37,4.164314204447255e-37,4.154473277695872e-37,4.144632350944489e-37,4.134791424193106e-37,4.1249504974417226e-37,4.115109122274831e-37,4.105268195523448e-37,4.0954272687720644e-37,4.085586342020681e-37,4.075745415269298e-37,4.065904488517915e-37,4.056063561766532e-37,4.0462226350151485e-37,4.036381708263765e-37,4.026540781512382e-37,4.016699854760999e-37,4.006858928009616e-37,3.997018001258233e-37,3.9871770745068495e-37,3.977336147755466e-37,3.967495221004083e-37,3.9576542942527e-37,3.947812919085808e-37,3.937971992334425e-37,3.928131065583042e-37,3.918290138831659e-37,3.9084492120802755e-37,3.898608285328892e-37,3.888767358577509e-37,3.878926431826126e-37,3.869085505074743e-37,3.8592445783233596e-37,3.849403651571976e-37,3.839562724820593e-37,3.82972179806921e-37,3.819880871317827e-37,3.810039944566444e-37,3.8001990178150605e-37,3.790357642648169e-37,3.7805167158967855e-37,3.770675789145402e-37,3.7608350866017735e-37,3.750993935642636e-37,3.741153008891253e-37,3.7313120821398696e-37,3.7214711553884865e-37,3.7116302286371033e-37,3.70178930188572e-37,3.691948375134337e-37,3.6821074483829537e-37,3.6722662974238163e-37,3.662425370672433e-37,3.65258444392105e-37,3.6427435171696667e-37,3.6329025904182836e-37,3.6230616636669004e-37,3.613220736915517e-37,3.603379810164134e-37,3.5935386592049965e-37,3.5836977324536134e-37,3.57385680570223e-37,3.564015878950847e-37,3.554174952199464e-37,3.5443340254480806e-37,3.5344930986966975e-37,3.5246521719453143e-37,3.514811245193931e-37,3.5049700942347936e-37,3.4951291674834105e-37,3.4852882407320273e-37,3.475447313980644e-37,3.465606387229261e-37,3.4557654604778777e-37,3.4459245337264946e-37,3.4360836069751114e-37,3.426242456015974e-37,3.4164015292645907e-37,3.4065606025132076e-37,3.3967196757618244e-37,3.386878749010441e-37,3.377037822259058e-37,3.367196895507675e-37,3.3573559687562917e-37,3.347514817797154e-37,3.337673891045771e-37,3.327832964294388e-37,3.3179920375430046e-37,3.3081511107916215e-37,3.2983101840402383e-37,3.288469257288855e-37,3.278628330537472e-37,3.2687871795783345e-37,3.2589462528269513e-37,3.249105326075568e-37,3.239264399324185e-37,3.2294234725728017e-37,3.2195825458214186e-37,3.2097416190700354e-37,3.199900692318652e-37,3.1900595413595147e-37,3.1802186146081316e-37,3.1703776878567484e-37,3.160536761105365e-37,3.150695834353982e-37,3.140854907602599e-37,3.1310139808512157e-37,3.1211730540998325e-37,3.111331903140695e-37,3.101490976389312e-37,3.0916500496379286e-37,3.0818091228865455e-37,3.0719681961351623e-37,3.062127269383779e-37,3.052286342632396e-37,3.0424454158810128e-37,3.0326042649218753e-37,3.022763338170492e-37,3.012922411419109e-37,3.0030814846677257e-37,2.9932405579163426e-37,2.9833996311649594e-37,2.973558704413576e-37,2.963717777662193e-37,2.95387685091081e-37,2.9440356999516724e-37,2.934194773200289e-37,2.924353846448906e-37,2.914512919697523e-37,2.9046719929461397e-37,2.8948310661947565e-37,2.8849901394433733e-37,2.87514921269199e-37,2.8653080617328526e-37,2.8554671349814695e-37,2.8456262082300863e-37,2.835785281478703e-37,2.82594435472732e-37,2.8161034279759368e-37,2.8062625012245536e-37,2.7964215744731704e-37,2.786580423514033e-37,2.7767394967626497e-37,2.7668985700112666e-37,2.7570576432598834e-37,2.7472167165085e-37,2.737375789757117e-37,2.727534863005734e-37,2.7176939362543507e-37,2.707852785295213e-37,2.69801185854383e-37,2.688170931792447e-37,2.6783300050410637e-37,2.6684890782896805e-37,2.6586481515382973e-37,2.648807224786914e-37,2.638966298035531e-37,2.6291251470763935e-37,2.6192842203250103e-37,2.609443293573627e-37,2.599602366822244e-37,2.5897614400708607e-37,2.5799205133194776e-37,2.5700795865680944e-37,2.5602386598167112e-37,2.5503975088575737e-37,2.5405565821061906e-37,2.5307156553548074e-37,2.520874728603424e-37,2.511033801852041e-37,2.501192875100658e-37,2.4913519483492747e-37,2.4815110215978915e-37,2.471669870638754e-37,2.461828943887371e-37,2.4519880171359877e-37,2.4421470903846045e-37,2.4323061636332213e-37,2.422465236881838e-37,2.412624310130455e-37,2.4027833833790718e-37,2.3929424566276886e-37,2.383101305668551e-37,2.373260378917168e-37,2.3634194521657847e-37,2.3535785254144016e-37,2.3437375986630184e-37,2.3338966719116352e-37,2.324055745160252e-37,2.314214818408869e-37,2.3043736674497314e-37,2.294532740698348e-37,2.284691813946965e-37,2.274850887195582e-37,2.2650099604441987e-37,2.2551690336928155e-37,2.2453281069414323e-37,2.235487180190049e-37,2.2256460292309117e-37,2.2158051024795285e-37,2.2059641757281453e-37,2.196123248976762e-37,2.186282322225379e-37,2.1764413954739958e-37,2.1666004687226126e-37,2.1567595419712294e-37,2.146918391012092e-37,2.1370774642607087e-37,2.1272365375093256e-37,2.1173956107579424e-37,2.1075546840065592e-37,2.097713757255176e-37,2.087872830503793e-37,2.0780319037524097e-37,2.068190752793272e-37,2.058349826041889e-37,2.048508899290506e-37,2.0386679725391227e-37,2.0288270457877395e-37,2.0189861190363563e-37,2.009145192284973e-37,1.99930426553359e-37,1.9894631145744525e-37,1.9796221878230693e-37,1.969781261071686e-37,1.959940334320303e-37,1.9500994075689198e-37,1.9402584808175366e-37,1.9304175540661534e-37,1.9205766273147702e-37,1.9107354763556327e-37,1.9008945496042496e-37,1.8910536228528664e-37,1.8812126961014832e-37,1.8713717693501e-37,1.8615308425987169e-37,1.8516899158473337e-37,1.8418488769920733e-37,1.8320079502406902e-37,1.822167023489307e-37,1.8123260967379238e-37,1.8024850578826635e-37,1.7926441311312803e-37,1.7828032043798971e-37,1.772962277628514e-37,1.7631212387732536e-37,1.7532803120218704e-37,1.7434393852704873e-37,1.733598458519104e-37,1.7237574196638438e-37,1.7139164929124606e-37,1.7040755661610774e-37,1.6942346394096942e-37,1.6843936005544339e-37,1.6745526738030507e-37,1.6647117470516675e-37,1.6548708203002844e-37,1.645029781445024e-37,1.6351888546936409e-37,1.6253479279422577e-37,1.6155070011908745e-37,1.6056659623356142e-37,1.595825035584231e-37,1.5859841088328478e-37,1.5761431820814646e-37,1.5663021432262043e-37,1.5564612164748211e-37,1.546620289723438e-37,1.5367793629720548e-37,1.5269383241167944e-37,1.5170973973654113e-37,1.507256470614028e-37,1.497415543862645e-37,1.4875745050073846e-37,1.4777335782560014e-37,1.4678926515046182e-37,1.458051724753235e-37,1.4482106858979747e-37,1.4383697591465915e-37,1.4285288323952084e-37,1.4186879056438252e-37,1.4088468667885648e-37,1.3990059400371817e-37,1.3891650132857985e-37,1.3793240865344153e-37,1.369483047679155e-37,1.3596421209277718e-37,1.3498011941763886e-37,1.3399602674250054e-37,1.3301192285697451e-37,1.320278301818362e-37,1.3104373750669788e-37,1.3005964483155956e-37,1.2907555215642124e-37,1.280914482708952e-37,1.271073555957569e-37,1.2612326292061857e-37,1.2513917024548025e-37,1.2415506635995422e-37,1.231709736848159e-37,1.2218688100967759e-37,1.2120278833453927e-37,1.2021868444901324e-37,1.1923459177387492e-37,1.182504990987366e-37,1.1726640642359828e-37,1.1628230253807225e-37,1.1529820986293393e-37,1.1431411718779561e-37,1.133300245126573e-37,1.1234592062713126e-37,1.1136182795199294e-37,1.1037773527685463e-37,1.093936426017163e-37,1.0840953871619028e-37,1.0742544604105196e-37,1.0644135336591364e-37,1.0545726069077532e-37,1.044731568052493e-37,1.0348906413011097e-37,1.0250497145497265e-37,1.0152087877983434e-37,1.005367748943083e-37,9.955268221916999e-38,9.856858954403167e-38,9.758449686889335e-38,9.660039298336732e-38,9.5616300308229e-38,9.463220763309068e-38,9.364810935275851e-38,9.266401667762019e-38,9.167991839728801e-38,9.06958257221497e-38,8.971172744181752e-38,8.87276347666792e-38,8.774353648634703e-38,8.675944381120871e-38,8.577534553087653e-38,8.479125285573822e-38,8.380715457540604e-38,8.282306190026772e-38,8.183896361993555e-38,8.085487094479723e-38,7.987077266446505e-38,7.888667998932674e-38,7.790258170899456e-38,7.691848903385624e-38,7.593439635871793e-38,7.495029807838575e-38,7.396620540324743e-38,7.298210712291526e-38,7.199801444777694e-38,7.101391616744476e-38,7.002982349230645e-38,6.904572521197427e-38,6.806163253683595e-38,6.707753425650378e-38,6.609344158136546e-38,6.510934330103328e-38,6.412525062589497e-38,6.314115234556279e-38,6.215705967042447e-38,6.11729613900923e-38,6.018886871495398e-38,5.92047704346218e-38,5.822067775948349e-38,5.723657947915131e-38,5.625248680401299e-38,5.526838852368082e-38,5.42842958485425e-38,5.330019756821032e-38,5.231610489307201e-38,5.133200661273983e-38,5.034791393760151e-38,4.936381565726934e-38,4.837972298213102e-38,4.739562470179885e-38,4.641153202666053e-38,4.542743654892528e-38,4.4443341071190034e-38,4.345924559345479e-38,4.247515011571954e-38,4.1491054637984295e-38,4.050695916024905e-38,3.95228636825138e-38,3.8538768204778555e-38,3.755467272704331e-38,3.657057724930806e-38,3.5586481771572815e-38,3.460238629383757e-38,3.361829081610232e-38,3.2634195338367075e-38,3.165009986063183e-38,3.066600438289658e-38,2.9681908905161336e-38,2.869781342742609e-38,2.771371794969084e-38,2.6729622471955596e-38,2.574552699422035e-38,2.4761431516485103e-38,2.3777336038749856e-38,2.279324056101461e-38,2.1809145083279363e-38,2.0825049605544116e-38,1.984095412780887e-38,1.8856858650073623e-38,1.7872763172338377e-38,1.688866769460313e-38,1.5904572216867883e-38,1.4920476739132637e-38,1.393638126139739e-38,1.2952285783662144e-38,1.1968190305926897e-38,1.098409482819165e-38,9.999999350456404e-39]} diff --git a/test/fixtures/julia/bits_1e-39_1e-45.json b/test/fixtures/julia/bits_1e-39_1e-45.json deleted file mode 100644 index 316e027..0000000 --- a/test/fixtures/julia/bits_1e-39_1e-45.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["00000000000010101110001110011000","00000000000010101110000011010010","00000000000010101101111000001101","00000000000010101101101101001000","00000000000010101101100010000010","00000000000010101101010110111101","00000000000010101101001011111000","00000000000010101101000000110010","00000000000010101100110101101101","00000000000010101100101010101000","00000000000010101100011111100010","00000000000010101100010100011101","00000000000010101100001001010111","00000000000010101011111110010010","00000000000010101011110011001101","00000000000010101011101000000111","00000000000010101011011101000010","00000000000010101011010001111101","00000000000010101011000110110111","00000000000010101010111011110010","00000000000010101010110000101101","00000000000010101010100101100111","00000000000010101010011010100010","00000000000010101010001111011100","00000000000010101010000100010111","00000000000010101001111001010010","00000000000010101001101110001100","00000000000010101001100011000111","00000000000010101001011000000010","00000000000010101001001100111100","00000000000010101001000001110111","00000000000010101000110110110001","00000000000010101000101011101100","00000000000010101000100000100111","00000000000010101000010101100001","00000000000010101000001010011100","00000000000010100111111111010111","00000000000010100111110100010001","00000000000010100111101001001100","00000000000010100111011110000111","00000000000010100111010011000001","00000000000010100111000111111100","00000000000010100110111100110110","00000000000010100110110001110001","00000000000010100110100110101100","00000000000010100110011011100110","00000000000010100110010000100001","00000000000010100110000101011100","00000000000010100101111010010110","00000000000010100101101111010001","00000000000010100101100100001011","00000000000010100101011001000110","00000000000010100101001110000001","00000000000010100101000010111011","00000000000010100100110111110110","00000000000010100100101100110001","00000000000010100100100001101011","00000000000010100100010110100110","00000000000010100100001011100001","00000000000010100100000000011011","00000000000010100011110101010110","00000000000010100011101010010000","00000000000010100011011111001011","00000000000010100011010100000110","00000000000010100011001001000000","00000000000010100010111101111011","00000000000010100010110010110110","00000000000010100010100111110000","00000000000010100010011100101011","00000000000010100010010001100110","00000000000010100010000110100000","00000000000010100001111011011011","00000000000010100001110000010101","00000000000010100001100101010000","00000000000010100001011010001011","00000000000010100001001111000101","00000000000010100001000100000000","00000000000010100000111000111011","00000000000010100000101101110101","00000000000010100000100010110000","00000000000010100000010111101010","00000000000010100000001100100101","00000000000010100000000001100000","00000000000010011111110110011010","00000000000010011111101011010101","00000000000010011111100000010000","00000000000010011111010101001010","00000000000010011111001010000101","00000000000010011110111111000000","00000000000010011110110011111010","00000000000010011110101000110101","00000000000010011110011101101111","00000000000010011110010010101010","00000000000010011110000111100101","00000000000010011101111100011111","00000000000010011101110001011010","00000000000010011101100110010101","00000000000010011101011011001111","00000000000010011101010000001010","00000000000010011101000101000101","00000000000010011100111001111111","00000000000010011100101110111010","00000000000010011100100011110100","00000000000010011100011000101111","00000000000010011100001101101010","00000000000010011100000010100100","00000000000010011011110111011111","00000000000010011011101100011010","00000000000010011011100001010100","00000000000010011011010110001111","00000000000010011011001011001001","00000000000010011011000000000100","00000000000010011010110100111111","00000000000010011010101001111001","00000000000010011010011110110100","00000000000010011010010011101111","00000000000010011010001000101001","00000000000010011001111101100100","00000000000010011001110010011111","00000000000010011001100111011001","00000000000010011001011100010100","00000000000010011001010001001110","00000000000010011001000110001001","00000000000010011000111011000100","00000000000010011000101111111110","00000000000010011000100100111001","00000000000010011000011001110100","00000000000010011000001110101110","00000000000010011000000011101001","00000000000010010111111000100100","00000000000010010111101101011110","00000000000010010111100010011001","00000000000010010111010111010011","00000000000010010111001100001110","00000000000010010111000001001001","00000000000010010110110110000011","00000000000010010110101010111110","00000000000010010110011111111001","00000000000010010110010100110011","00000000000010010110001001101110","00000000000010010101111110101000","00000000000010010101110011100011","00000000000010010101101000011110","00000000000010010101011101011000","00000000000010010101010010010011","00000000000010010101000111001110","00000000000010010100111100001000","00000000000010010100110001000011","00000000000010010100100101111110","00000000000010010100011010111000","00000000000010010100001111110011","00000000000010010100000100101101","00000000000010010011111001101000","00000000000010010011101110100011","00000000000010010011100011011101","00000000000010010011011000011000","00000000000010010011001101010011","00000000000010010011000010001101","00000000000010010010110111001000","00000000000010010010101100000011","00000000000010010010100000111101","00000000000010010010010101111000","00000000000010010010001010110010","00000000000010010001111111101101","00000000000010010001110100101000","00000000000010010001101001100010","00000000000010010001011110011101","00000000000010010001010011011000","00000000000010010001001000010010","00000000000010010000111101001101","00000000000010010000110010000111","00000000000010010000100111000010","00000000000010010000011011111101","00000000000010010000010000110111","00000000000010010000000101110010","00000000000010001111111010101101","00000000000010001111101111100111","00000000000010001111100100100010","00000000000010001111011001011101","00000000000010001111001110010111","00000000000010001111000011010010","00000000000010001110111000001100","00000000000010001110101101000111","00000000000010001110100010000010","00000000000010001110010110111100","00000000000010001110001011110111","00000000000010001110000000110010","00000000000010001101110101101100","00000000000010001101101010100111","00000000000010001101011111100001","00000000000010001101010100011100","00000000000010001101001001010111","00000000000010001100111110010001","00000000000010001100110011001100","00000000000010001100101000000111","00000000000010001100011101000001","00000000000010001100010001111100","00000000000010001100000110110111","00000000000010001011111011110001","00000000000010001011110000101100","00000000000010001011100101100110","00000000000010001011011010100001","00000000000010001011001111011100","00000000000010001011000100010110","00000000000010001010111001010001","00000000000010001010101110001100","00000000000010001010100011000110","00000000000010001010011000000001","00000000000010001010001100111100","00000000000010001010000001110110","00000000000010001001110110110001","00000000000010001001101011101011","00000000000010001001100000100110","00000000000010001001010101100001","00000000000010001001001010011011","00000000000010001000111111010110","00000000000010001000110100010001","00000000000010001000101001001011","00000000000010001000011110000110","00000000000010001000010011000000","00000000000010001000000111111011","00000000000010000111111100110110","00000000000010000111110001110000","00000000000010000111100110101011","00000000000010000111011011100110","00000000000010000111010000100000","00000000000010000111000101011011","00000000000010000110111010010110","00000000000010000110101111010000","00000000000010000110100100001011","00000000000010000110011001000101","00000000000010000110001110000000","00000000000010000110000010111011","00000000000010000101110111110101","00000000000010000101101100110000","00000000000010000101100001101011","00000000000010000101010110100101","00000000000010000101001011100000","00000000000010000101000000011011","00000000000010000100110101010101","00000000000010000100101010010000","00000000000010000100011111001010","00000000000010000100010100000101","00000000000010000100001001000000","00000000000010000011111101111010","00000000000010000011110010110101","00000000000010000011100111110000","00000000000010000011011100101010","00000000000010000011010001100101","00000000000010000011000110011111","00000000000010000010111011011010","00000000000010000010110000010101","00000000000010000010100101001111","00000000000010000010011010001010","00000000000010000010001111000101","00000000000010000010000011111111","00000000000010000001111000111010","00000000000010000001101101110101","00000000000010000001100010101111","00000000000010000001010111101010","00000000000010000001001100100100","00000000000010000001000001011111","00000000000010000000110110011010","00000000000010000000101011010100","00000000000010000000100000001111","00000000000010000000010101001010","00000000000010000000001010000100","00000000000001111111111110111111","00000000000001111111110011111010","00000000000001111111101000110100","00000000000001111111011101101111","00000000000001111111010010101001","00000000000001111111000111100100","00000000000001111110111100011111","00000000000001111110110001011001","00000000000001111110100110010100","00000000000001111110011011001111","00000000000001111110010000001001","00000000000001111110000101000100","00000000000001111101111001111110","00000000000001111101101110111001","00000000000001111101100011110100","00000000000001111101011000101110","00000000000001111101001101101001","00000000000001111101000010100100","00000000000001111100110111011110","00000000000001111100101100011001","00000000000001111100100001010100","00000000000001111100010110001110","00000000000001111100001011001001","00000000000001111100000000000011","00000000000001111011110100111110","00000000000001111011101001111001","00000000000001111011011110110011","00000000000001111011010011101110","00000000000001111011001000101001","00000000000001111010111101100011","00000000000001111010110010011110","00000000000001111010100111011001","00000000000001111010011100010011","00000000000001111010010001001110","00000000000001111010000110001000","00000000000001111001111011000011","00000000000001111001101111111110","00000000000001111001100100111000","00000000000001111001011001110011","00000000000001111001001110101110","00000000000001111001000011101000","00000000000001111000111000100011","00000000000001111000101101011101","00000000000001111000100010011000","00000000000001111000010111010011","00000000000001111000001100001101","00000000000001111000000001001000","00000000000001110111110110000011","00000000000001110111101010111101","00000000000001110111011111111000","00000000000001110111010100110011","00000000000001110111001001101101","00000000000001110110111110101000","00000000000001110110110011100010","00000000000001110110101000011101","00000000000001110110011101011000","00000000000001110110010010010010","00000000000001110110000111001101","00000000000001110101111100001000","00000000000001110101110001000010","00000000000001110101100101111101","00000000000001110101011010110111","00000000000001110101001111110010","00000000000001110101000100101101","00000000000001110100111001100111","00000000000001110100101110100010","00000000000001110100100011011101","00000000000001110100011000010111","00000000000001110100001101010010","00000000000001110100000010001101","00000000000001110011110111000111","00000000000001110011101100000010","00000000000001110011100000111100","00000000000001110011010101110111","00000000000001110011001010110010","00000000000001110010111111101100","00000000000001110010110100100111","00000000000001110010101001100010","00000000000001110010011110011100","00000000000001110010010011010111","00000000000001110010001000010010","00000000000001110001111101001100","00000000000001110001110010000111","00000000000001110001100111000001","00000000000001110001011011111100","00000000000001110001010000110111","00000000000001110001000101110001","00000000000001110000111010101100","00000000000001110000101111100111","00000000000001110000100100100001","00000000000001110000011001011100","00000000000001110000001110010110","00000000000001110000000011010001","00000000000001101111111000001100","00000000000001101111101101000110","00000000000001101111100010000001","00000000000001101111010110111100","00000000000001101111001011110110","00000000000001101111000000110001","00000000000001101110110101101100","00000000000001101110101010100110","00000000000001101110011111100001","00000000000001101110010100011011","00000000000001101110001001010110","00000000000001101101111110010001","00000000000001101101110011001011","00000000000001101101101000000110","00000000000001101101011101000001","00000000000001101101010001111011","00000000000001101101000110110110","00000000000001101100111011110001","00000000000001101100110000101011","00000000000001101100100101100110","00000000000001101100011010100000","00000000000001101100001111011011","00000000000001101100000100010110","00000000000001101011111001010000","00000000000001101011101110001011","00000000000001101011100011000110","00000000000001101011011000000000","00000000000001101011001100111011","00000000000001101011000001110101","00000000000001101010110110110000","00000000000001101010101011101011","00000000000001101010100000100101","00000000000001101010010101100000","00000000000001101010001010011011","00000000000001101001111111010101","00000000000001101001110100010000","00000000000001101001101001001011","00000000000001101001011110000101","00000000000001101001010011000000","00000000000001101001000111111010","00000000000001101000111100110101","00000000000001101000110001110000","00000000000001101000100110101010","00000000000001101000011011100101","00000000000001101000010000100000","00000000000001101000000101011010","00000000000001100111111010010101","00000000000001100111101111010000","00000000000001100111100100001010","00000000000001100111011001000101","00000000000001100111001101111111","00000000000001100111000010111010","00000000000001100110110111110101","00000000000001100110101100101111","00000000000001100110100001101010","00000000000001100110010110100101","00000000000001100110001011011111","00000000000001100110000000011010","00000000000001100101110101010100","00000000000001100101101010001111","00000000000001100101011111001010","00000000000001100101010100000100","00000000000001100101001000111111","00000000000001100100111101111010","00000000000001100100110010110100","00000000000001100100100111101111","00000000000001100100011100101010","00000000000001100100010001100100","00000000000001100100000110011111","00000000000001100011111011011001","00000000000001100011110000010100","00000000000001100011100101001111","00000000000001100011011010001001","00000000000001100011001111000100","00000000000001100011000011111111","00000000000001100010111000111001","00000000000001100010101101110100","00000000000001100010100010101110","00000000000001100010010111101001","00000000000001100010001100100100","00000000000001100010000001011110","00000000000001100001110110011001","00000000000001100001101011010100","00000000000001100001100000001110","00000000000001100001010101001001","00000000000001100001001010000100","00000000000001100000111110111110","00000000000001100000110011111001","00000000000001100000101000110011","00000000000001100000011101101110","00000000000001100000010010101001","00000000000001100000000111100011","00000000000001011111111100011110","00000000000001011111110001011001","00000000000001011111100110010011","00000000000001011111011011001110","00000000000001011111010000001001","00000000000001011111000101000011","00000000000001011110111001111110","00000000000001011110101110111000","00000000000001011110100011110011","00000000000001011110011000101110","00000000000001011110001101101000","00000000000001011110000010100011","00000000000001011101110111011110","00000000000001011101101100011000","00000000000001011101100001010011","00000000000001011101010110001101","00000000000001011101001011001000","00000000000001011101000000000011","00000000000001011100110100111101","00000000000001011100101001111000","00000000000001011100011110110011","00000000000001011100010011101101","00000000000001011100001000101000","00000000000001011011111101100011","00000000000001011011110010011101","00000000000001011011100111011000","00000000000001011011011100010010","00000000000001011011010001001101","00000000000001011011000110001000","00000000000001011010111011000010","00000000000001011010101111111101","00000000000001011010100100111000","00000000000001011010011001110010","00000000000001011010001110101101","00000000000001011010000011101000","00000000000001011001111000100010","00000000000001011001101101011101","00000000000001011001100010010111","00000000000001011001010111010010","00000000000001011001001100001101","00000000000001011001000001000111","00000000000001011000110110000010","00000000000001011000101010111101","00000000000001011000011111110111","00000000000001011000010100110010","00000000000001011000001001101100","00000000000001010111111110100111","00000000000001010111110011100010","00000000000001010111101000011100","00000000000001010111011101010111","00000000000001010111010010010010","00000000000001010111000111001100","00000000000001010110111100000111","00000000000001010110110001000010","00000000000001010110100101111100","00000000000001010110011010110111","00000000000001010110001111110001","00000000000001010110000100101100","00000000000001010101111001100111","00000000000001010101101110100001","00000000000001010101100011011100","00000000000001010101011000010111","00000000000001010101001101010001","00000000000001010101000010001100","00000000000001010100110111000111","00000000000001010100101100000001","00000000000001010100100000111100","00000000000001010100010101110110","00000000000001010100001010110001","00000000000001010011111111101100","00000000000001010011110100100110","00000000000001010011101001100001","00000000000001010011011110011100","00000000000001010011010011010110","00000000000001010011001000010001","00000000000001010010111101001011","00000000000001010010110010000110","00000000000001010010100111000001","00000000000001010010011011111011","00000000000001010010010000110110","00000000000001010010000101110001","00000000000001010001111010101011","00000000000001010001101111100110","00000000000001010001100100100001","00000000000001010001011001011011","00000000000001010001001110010110","00000000000001010001000011010000","00000000000001010000111000001011","00000000000001010000101101000110","00000000000001010000100010000000","00000000000001010000010110111011","00000000000001010000001011110110","00000000000001010000000000110000","00000000000001001111110101101011","00000000000001001111101010100110","00000000000001001111011111100000","00000000000001001111010100011011","00000000000001001111001001010101","00000000000001001110111110010000","00000000000001001110110011001011","00000000000001001110101000000101","00000000000001001110011101000000","00000000000001001110010001111011","00000000000001001110000110110101","00000000000001001101111011110000","00000000000001001101110000101010","00000000000001001101100101100101","00000000000001001101011010100000","00000000000001001101001111011010","00000000000001001101000100010101","00000000000001001100111001010000","00000000000001001100101110001010","00000000000001001100100011000101","00000000000001001100011000000000","00000000000001001100001100111010","00000000000001001100000001110101","00000000000001001011110110101111","00000000000001001011101011101010","00000000000001001011100000100101","00000000000001001011010101011111","00000000000001001011001010011010","00000000000001001010111111010101","00000000000001001010110100001111","00000000000001001010101001001010","00000000000001001010011110000100","00000000000001001010010010111111","00000000000001001010000111111010","00000000000001001001111100110100","00000000000001001001110001101111","00000000000001001001100110101010","00000000000001001001011011100100","00000000000001001001010000011111","00000000000001001001000101011010","00000000000001001000111010010100","00000000000001001000101111001111","00000000000001001000100100001001","00000000000001001000011001000100","00000000000001001000001101111111","00000000000001001000000010111001","00000000000001000111110111110100","00000000000001000111101100101111","00000000000001000111100001101001","00000000000001000111010110100100","00000000000001000111001011011111","00000000000001000111000000011001","00000000000001000110110101010100","00000000000001000110101010001110","00000000000001000110011111001001","00000000000001000110010100000100","00000000000001000110001000111110","00000000000001000101111101111001","00000000000001000101110010110100","00000000000001000101100111101110","00000000000001000101011100101001","00000000000001000101010001100011","00000000000001000101000110011110","00000000000001000100111011011001","00000000000001000100110000010011","00000000000001000100100101001110","00000000000001000100011010001001","00000000000001000100001111000011","00000000000001000100000011111110","00000000000001000011111000111001","00000000000001000011101101110011","00000000000001000011100010101110","00000000000001000011010111101000","00000000000001000011001100100011","00000000000001000011000001011110","00000000000001000010110110011000","00000000000001000010101011010011","00000000000001000010100000001110","00000000000001000010010101001000","00000000000001000010001010000011","00000000000001000001111110111110","00000000000001000001110011111000","00000000000001000001101000110011","00000000000001000001011101101101","00000000000001000001010010101000","00000000000001000001000111100011","00000000000001000000111100011101","00000000000001000000110001011000","00000000000001000000100110010011","00000000000001000000011011001101","00000000000001000000010000001000","00000000000001000000000101000010","00000000000000111111111001111101","00000000000000111111101110111000","00000000000000111111100011110010","00000000000000111111011000101101","00000000000000111111001101101000","00000000000000111111000010100010","00000000000000111110110111011101","00000000000000111110101100011000","00000000000000111110100001010010","00000000000000111110010110001101","00000000000000111110001011000111","00000000000000111110000000000010","00000000000000111101110100111101","00000000000000111101101001110111","00000000000000111101011110110010","00000000000000111101010011101101","00000000000000111101001000100111","00000000000000111100111101100010","00000000000000111100110010011101","00000000000000111100100111010111","00000000000000111100011100010010","00000000000000111100010001001100","00000000000000111100000110000111","00000000000000111011111011000010","00000000000000111011101111111100","00000000000000111011100100110111","00000000000000111011011001110010","00000000000000111011001110101100","00000000000000111011000011100111","00000000000000111010111000100001","00000000000000111010101101011100","00000000000000111010100010010111","00000000000000111010010111010001","00000000000000111010001100001100","00000000000000111010000001000111","00000000000000111001110110000001","00000000000000111001101010111100","00000000000000111001011111110111","00000000000000111001010100110001","00000000000000111001001001101100","00000000000000111000111110100110","00000000000000111000110011100001","00000000000000111000101000011100","00000000000000111000011101010110","00000000000000111000010010010001","00000000000000111000000111001100","00000000000000110111111100000110","00000000000000110111110001000001","00000000000000110111100101111011","00000000000000110111011010110110","00000000000000110111001111110001","00000000000000110111000100101011","00000000000000110110111001100110","00000000000000110110101110100001","00000000000000110110100011011011","00000000000000110110011000010110","00000000000000110110001101010001","00000000000000110110000010001011","00000000000000110101110111000110","00000000000000110101101100000000","00000000000000110101100000111011","00000000000000110101010101110110","00000000000000110101001010110000","00000000000000110100111111101011","00000000000000110100110100100110","00000000000000110100101001100000","00000000000000110100011110011011","00000000000000110100010011010110","00000000000000110100001000010000","00000000000000110011111101001011","00000000000000110011110010000101","00000000000000110011100111000000","00000000000000110011011011111011","00000000000000110011010000110101","00000000000000110011000101110000","00000000000000110010111010101011","00000000000000110010101111100101","00000000000000110010100100100000","00000000000000110010011001011010","00000000000000110010001110010101","00000000000000110010000011010000","00000000000000110001111000001010","00000000000000110001101101000101","00000000000000110001100010000000","00000000000000110001010110111010","00000000000000110001001011110101","00000000000000110001000000110000","00000000000000110000110101101010","00000000000000110000101010100101","00000000000000110000011111011111","00000000000000110000010100011010","00000000000000110000001001010101","00000000000000101111111110001111","00000000000000101111110011001010","00000000000000101111101000000101","00000000000000101111011100111111","00000000000000101111010001111010","00000000000000101111000110110101","00000000000000101110111011101111","00000000000000101110110000101010","00000000000000101110100101100100","00000000000000101110011010011111","00000000000000101110001111011010","00000000000000101110000100010100","00000000000000101101111001001111","00000000000000101101101110001010","00000000000000101101100011000100","00000000000000101101010111111111","00000000000000101101001100111001","00000000000000101101000001110100","00000000000000101100110110101111","00000000000000101100101011101001","00000000000000101100100000100100","00000000000000101100010101011111","00000000000000101100001010011001","00000000000000101011111111010100","00000000000000101011110100001111","00000000000000101011101001001001","00000000000000101011011110000100","00000000000000101011010010111110","00000000000000101011000111111001","00000000000000101010111100110100","00000000000000101010110001101110","00000000000000101010100110101001","00000000000000101010011011100100","00000000000000101010010000011110","00000000000000101010000101011001","00000000000000101001111010010100","00000000000000101001101111001110","00000000000000101001100100001001","00000000000000101001011001000011","00000000000000101001001101111110","00000000000000101001000010111001","00000000000000101000110111110011","00000000000000101000101100101110","00000000000000101000100001101001","00000000000000101000010110100011","00000000000000101000001011011110","00000000000000101000000000011000","00000000000000100111110101010011","00000000000000100111101010001110","00000000000000100111011111001000","00000000000000100111010100000011","00000000000000100111001000111110","00000000000000100110111101111000","00000000000000100110110010110011","00000000000000100110100111101110","00000000000000100110011100101000","00000000000000100110010001100011","00000000000000100110000110011101","00000000000000100101111011011000","00000000000000100101110000010011","00000000000000100101100101001101","00000000000000100101011010001000","00000000000000100101001111000011","00000000000000100101000011111101","00000000000000100100111000111000","00000000000000100100101101110011","00000000000000100100100010101101","00000000000000100100010111101000","00000000000000100100001100100010","00000000000000100100000001011101","00000000000000100011110110011000","00000000000000100011101011010010","00000000000000100011100000001101","00000000000000100011010101001000","00000000000000100011001010000010","00000000000000100010111110111101","00000000000000100010110011110111","00000000000000100010101000110010","00000000000000100010011101101101","00000000000000100010010010100111","00000000000000100010000111100010","00000000000000100001111100011101","00000000000000100001110001010111","00000000000000100001100110010010","00000000000000100001011011001101","00000000000000100001010000000111","00000000000000100001000101000010","00000000000000100000111001111100","00000000000000100000101110110111","00000000000000100000100011110010","00000000000000100000011000101100","00000000000000100000001101100111","00000000000000100000000010100010","00000000000000011111110111011100","00000000000000011111101100010111","00000000000000011111100001010001","00000000000000011111010110001100","00000000000000011111001011000111","00000000000000011111000000000001","00000000000000011110110100111100","00000000000000011110101001110111","00000000000000011110011110110001","00000000000000011110010011101100","00000000000000011110001000100111","00000000000000011101111101100001","00000000000000011101110010011100","00000000000000011101100111010110","00000000000000011101011100010001","00000000000000011101010001001100","00000000000000011101000110000110","00000000000000011100111011000001","00000000000000011100101111111100","00000000000000011100100100110110","00000000000000011100011001110001","00000000000000011100001110101100","00000000000000011100000011100110","00000000000000011011111000100001","00000000000000011011101101011011","00000000000000011011100010010110","00000000000000011011010111010001","00000000000000011011001100001011","00000000000000011011000001000110","00000000000000011010110110000001","00000000000000011010101010111011","00000000000000011010011111110110","00000000000000011010010100110000","00000000000000011010001001101011","00000000000000011001111110100110","00000000000000011001110011100000","00000000000000011001101000011011","00000000000000011001011101010110","00000000000000011001010010010000","00000000000000011001000111001011","00000000000000011000111100000110","00000000000000011000110001000000","00000000000000011000100101111011","00000000000000011000011010110101","00000000000000011000001111110000","00000000000000011000000100101011","00000000000000010111111001100101","00000000000000010111101110100000","00000000000000010111100011011011","00000000000000010111011000010101","00000000000000010111001101010000","00000000000000010111000010001011","00000000000000010110110111000101","00000000000000010110101100000000","00000000000000010110100000111010","00000000000000010110010101110101","00000000000000010110001010110000","00000000000000010101111111101010","00000000000000010101110100100101","00000000000000010101101001100000","00000000000000010101011110011010","00000000000000010101010011010101","00000000000000010101001000001111","00000000000000010100111101001010","00000000000000010100110010000101","00000000000000010100100110111111","00000000000000010100011011111010","00000000000000010100010000110101","00000000000000010100000101101111","00000000000000010011111010101010","00000000000000010011101111100101","00000000000000010011100100011111","00000000000000010011011001011010","00000000000000010011001110010100","00000000000000010011000011001111","00000000000000010010111000001010","00000000000000010010101101000100","00000000000000010010100001111111","00000000000000010010010110111010","00000000000000010010001011110100","00000000000000010010000000101111","00000000000000010001110101101010","00000000000000010001101010100100","00000000000000010001011111011111","00000000000000010001010100011001","00000000000000010001001001010100","00000000000000010000111110001111","00000000000000010000110011001001","00000000000000010000101000000100","00000000000000010000011100111111","00000000000000010000010001111001","00000000000000010000000110110100","00000000000000001111111011101110","00000000000000001111110000101001","00000000000000001111100101100100","00000000000000001111011010011110","00000000000000001111001111011001","00000000000000001111000100010100","00000000000000001110111001001110","00000000000000001110101110001001","00000000000000001110100011000100","00000000000000001110010111111110","00000000000000001110001100111001","00000000000000001110000001110011","00000000000000001101110110101110","00000000000000001101101011101001","00000000000000001101100000100011","00000000000000001101010101011110","00000000000000001101001010011001","00000000000000001100111111010011","00000000000000001100110100001110","00000000000000001100101001001000","00000000000000001100011110000011","00000000000000001100010010111110","00000000000000001100000111111000","00000000000000001011111100110011","00000000000000001011110001101110","00000000000000001011100110101000","00000000000000001011011011100011","00000000000000001011010000011110","00000000000000001011000101011000","00000000000000001010111010010011","00000000000000001010101111001101","00000000000000001010100100001000","00000000000000001010011001000011","00000000000000001010001101111101","00000000000000001010000010111000","00000000000000001001110111110011","00000000000000001001101100101101","00000000000000001001100001101000","00000000000000001001010110100011","00000000000000001001001011011101","00000000000000001001000000011000","00000000000000001000110101010010","00000000000000001000101010001101","00000000000000001000011111001000","00000000000000001000010100000010","00000000000000001000001000111101","00000000000000000111111101111000","00000000000000000111110010110010","00000000000000000111100111101101","00000000000000000111011100100111","00000000000000000111010001100010","00000000000000000111000110011101","00000000000000000110111011010111","00000000000000000110110000010010","00000000000000000110100101001101","00000000000000000110011010000111","00000000000000000110001111000010","00000000000000000110000011111101","00000000000000000101111000110111","00000000000000000101101101110010","00000000000000000101100010101100","00000000000000000101010111100111","00000000000000000101001100100010","00000000000000000101000001011100","00000000000000000100110110010111","00000000000000000100101011010010","00000000000000000100100000001100","00000000000000000100010101000111","00000000000000000100001010000010","00000000000000000011111110111100","00000000000000000011110011110111","00000000000000000011101000110001","00000000000000000011011101101100","00000000000000000011010010100111","00000000000000000011000111100001","00000000000000000010111100011100","00000000000000000010110001010111","00000000000000000010100110010001","00000000000000000010011011001100","00000000000000000010010000000110","00000000000000000010000101000001","00000000000000000001111001111100","00000000000000000001101110110110","00000000000000000001100011110001","00000000000000000001011000101100","00000000000000000001001101100110","00000000000000000001000010100001","00000000000000000000110111011100","00000000000000000000101100010110","00000000000000000000100001010001","00000000000000000000010110001011","00000000000000000000001011000110","00000000000000000000000000000001"],"x":[1.0000002153053333e-39,9.990052933956626e-40,9.980117727844563e-40,9.9701825217325e-40,9.960233302635794e-40,9.950298096523731e-40,9.940362890411668e-40,9.930413671314962e-40,9.9204784652029e-40,9.910543259090836e-40,9.90059403999413e-40,9.890658833882067e-40,9.880709614785361e-40,9.870774408673298e-40,9.860839202561235e-40,9.850889983464529e-40,9.840954777352466e-40,9.831019571240403e-40,9.821070352143697e-40,9.811135146031634e-40,9.80119993991957e-40,9.791250720822865e-40,9.781315514710802e-40,9.771366295614095e-40,9.761431089502032e-40,9.75149588338997e-40,9.741546664293263e-40,9.7316114581812e-40,9.721676252069137e-40,9.711727032972431e-40,9.701791826860368e-40,9.691842607763662e-40,9.681907401651599e-40,9.671972195539536e-40,9.66202297644283e-40,9.652087770330767e-40,9.642152564218704e-40,9.632203345121998e-40,9.622268139009935e-40,9.612332932897872e-40,9.602383713801166e-40,9.592448507689103e-40,9.582499288592397e-40,9.572564082480334e-40,9.56262887636827e-40,9.552679657271564e-40,9.542744451159502e-40,9.532809245047439e-40,9.522860025950732e-40,9.51292481983867e-40,9.502975600741963e-40,9.4930403946299e-40,9.483105188517837e-40,9.473155969421131e-40,9.463220763309068e-40,9.453285557197005e-40,9.443336338100299e-40,9.433401131988236e-40,9.423465925876173e-40,9.413516706779467e-40,9.403581500667404e-40,9.393632281570698e-40,9.383697075458635e-40,9.373761869346572e-40,9.363812650249866e-40,9.353877444137803e-40,9.34394223802574e-40,9.333993018929034e-40,9.32405781281697e-40,9.314122606704908e-40,9.304173387608201e-40,9.294238181496138e-40,9.284288962399432e-40,9.27435375628737e-40,9.264418550175306e-40,9.2544693310786e-40,9.244534124966537e-40,9.234598918854474e-40,9.224649699757768e-40,9.214714493645705e-40,9.204765274548999e-40,9.194830068436936e-40,9.184894862324873e-40,9.174945643228167e-40,9.165010437116104e-40,9.155075231004041e-40,9.145126011907335e-40,9.135190805795272e-40,9.125255599683209e-40,9.115306380586503e-40,9.10537117447444e-40,9.095421955377733e-40,9.08548674926567e-40,9.075551543153608e-40,9.065602324056901e-40,9.055667117944838e-40,9.045731911832775e-40,9.03578269273607e-40,9.025847486624006e-40,9.015912280511943e-40,9.005963061415237e-40,8.996027855303174e-40,8.986078636206468e-40,8.976143430094405e-40,8.966208223982342e-40,8.956259004885636e-40,8.946323798773573e-40,8.93638859266151e-40,8.926439373564804e-40,8.91650416745274e-40,8.906554948356035e-40,8.896619742243972e-40,8.886684536131909e-40,8.876735317035202e-40,8.86680011092314e-40,8.856864904811077e-40,8.84691568571437e-40,8.836980479602307e-40,8.827045273490244e-40,8.817096054393538e-40,8.807160848281475e-40,8.797211629184769e-40,8.787276423072706e-40,8.777341216960643e-40,8.767391997863937e-40,8.757456791751874e-40,8.747521585639811e-40,8.737572366543105e-40,8.727637160431042e-40,8.717701954318979e-40,8.707752735222273e-40,8.69781752911021e-40,8.687868310013504e-40,8.67793310390144e-40,8.667997897789378e-40,8.658048678692672e-40,8.648113472580609e-40,8.638178266468546e-40,8.62822904737184e-40,8.618293841259776e-40,8.60834462216307e-40,8.598409416051007e-40,8.588474209938944e-40,8.578524990842238e-40,8.568589784730175e-40,8.558654578618112e-40,8.548705359521406e-40,8.538770153409343e-40,8.52883494729728e-40,8.518885728200574e-40,8.508950522088511e-40,8.499001302991805e-40,8.489066096879742e-40,8.479130890767679e-40,8.469181671670973e-40,8.45924646555891e-40,8.449311259446847e-40,8.43936204035014e-40,8.429426834238078e-40,8.419491628126015e-40,8.409542409029308e-40,8.399607202917245e-40,8.38965798382054e-40,8.379722777708476e-40,8.369787571596413e-40,8.359838352499707e-40,8.349903146387644e-40,8.339967940275581e-40,8.330018721178875e-40,8.320083515066812e-40,8.310134295970106e-40,8.300199089858043e-40,8.29026388374598e-40,8.280314664649274e-40,8.270379458537211e-40,8.260444252425148e-40,8.250495033328442e-40,8.240559827216379e-40,8.230624621104316e-40,8.22067540200761e-40,8.210740195895547e-40,8.20079097679884e-40,8.190855770686777e-40,8.180920564574715e-40,8.170971345478008e-40,8.161036139365945e-40,8.151100933253882e-40,8.141151714157176e-40,8.131216508045113e-40,8.121267288948407e-40,8.111332082836344e-40,8.101396876724281e-40,8.091447657627575e-40,8.081512451515512e-40,8.071577245403449e-40,8.061628026306743e-40,8.05169282019468e-40,8.041757614082617e-40,8.03180839498591e-40,8.021873188873848e-40,8.011923969777142e-40,8.001988763665079e-40,7.992053557553016e-40,7.98210433845631e-40,7.972169132344247e-40,7.962233926232184e-40,7.952284707135477e-40,7.942349501023414e-40,7.932414294911351e-40,7.922465075814645e-40,7.912529869702582e-40,7.902580650605876e-40,7.892645444493813e-40,7.88271023838175e-40,7.872761019285044e-40,7.862825813172981e-40,7.852890607060918e-40,7.842941387964212e-40,7.833006181852149e-40,7.823056962755443e-40,7.81312175664338e-40,7.803186550531317e-40,7.79323733143461e-40,7.783302125322548e-40,7.773366919210485e-40,7.763417700113779e-40,7.753482494001716e-40,7.743547287889653e-40,7.733598068792946e-40,7.723662862680883e-40,7.713713643584177e-40,7.703778437472114e-40,7.693843231360051e-40,7.683894012263345e-40,7.673958806151282e-40,7.66402360003922e-40,7.654074380942513e-40,7.64413917483045e-40,7.634203968718387e-40,7.624254749621681e-40,7.614319543509618e-40,7.604370324412912e-40,7.594435118300849e-40,7.584499912188786e-40,7.57455069309208e-40,7.564615486980017e-40,7.554680280867954e-40,7.544731061771248e-40,7.534795855659185e-40,7.524846636562478e-40,7.514911430450415e-40,7.504976224338353e-40,7.495027005241646e-40,7.485091799129583e-40,7.47515659301752e-40,7.465207373920814e-40,7.455272167808751e-40,7.445336961696688e-40,7.435387742599982e-40,7.425452536487919e-40,7.415503317391213e-40,7.40556811127915e-40,7.395632905167087e-40,7.385683686070381e-40,7.375748479958318e-40,7.365813273846255e-40,7.355864054749549e-40,7.345928848637486e-40,7.335993642525423e-40,7.326044423428717e-40,7.316109217316654e-40,7.3061599982199475e-40,7.2962247921078845e-40,7.2862895859958216e-40,7.276340366899115e-40,7.2664051607870524e-40,7.2564699546749895e-40,7.246520735578283e-40,7.23658552946622e-40,7.226636310369514e-40,7.216701104257451e-40,7.206765898145388e-40,7.196816679048682e-40,7.186881472936619e-40,7.176946266824556e-40,7.16699704772785e-40,7.157061841615787e-40,7.147126635503724e-40,7.137177416407018e-40,7.127242210294955e-40,7.117292991198249e-40,7.107357785086186e-40,7.097422578974123e-40,7.0874733598774165e-40,7.0775381537653536e-40,7.067602947653291e-40,7.0576537285565844e-40,7.0477185224445215e-40,7.0377833163324585e-40,7.027834097235752e-40,7.017898891123689e-40,7.007949672026983e-40,6.99801446591492e-40,6.988079259802857e-40,6.978130040706151e-40,6.968194834594088e-40,6.958259628482025e-40,6.948310409385319e-40,6.938375203273256e-40,6.92842598417655e-40,6.918490778064487e-40,6.908555571952424e-40,6.898606352855718e-40,6.888671146743655e-40,6.878735940631592e-40,6.8687867215348856e-40,6.858851515422823e-40,6.84891630931076e-40,6.8389670902140535e-40,6.8290318841019905e-40,6.819082665005284e-40,6.809147458893221e-40,6.7992122527811584e-40,6.789263033684452e-40,6.779327827572389e-40,6.769392621460326e-40,6.75944340236362e-40,6.749508196251557e-40,6.739558977154851e-40,6.729623771042788e-40,6.719688564930725e-40,6.709739345834019e-40,6.699804139721956e-40,6.689868933609893e-40,6.679919714513187e-40,6.669984508401124e-40,6.660049302289061e-40,6.650100083192355e-40,6.640164877080292e-40,6.6302156579835855e-40,6.6202804518715225e-40,6.6103452457594596e-40,6.600396026662753e-40,6.5904608205506904e-40,6.5805256144386275e-40,6.570576395341921e-40,6.560641189229858e-40,6.550705983117795e-40,6.540756764021089e-40,6.530821557909026e-40,6.52087233881232e-40,6.510937132700257e-40,6.501001926588194e-40,6.491052707491488e-40,6.481117501379425e-40,6.471182295267362e-40,6.461233076170656e-40,6.451297870058593e-40,6.441348650961887e-40,6.431413444849824e-40,6.421478238737761e-40,6.4115290196410545e-40,6.4015938135289916e-40,6.391658607416929e-40,6.3817093883202224e-40,6.3717741822081595e-40,6.3618389760960965e-40,6.35188975699939e-40,6.341954550887327e-40,6.332005331790621e-40,6.322070125678558e-40,6.312134919566495e-40,6.302185700469789e-40,6.292250494357726e-40,6.282315288245663e-40,6.272366069148957e-40,6.262430863036894e-40,6.252495656924831e-40,6.242546437828125e-40,6.232611231716062e-40,6.222662012619356e-40,6.212726806507293e-40,6.20279160039523e-40,6.1928423812985236e-40,6.182907175186461e-40,6.172971969074398e-40,6.1630227499776915e-40,6.1530875438656285e-40,6.143138324768922e-40,6.133203118656859e-40,6.123267912544796e-40,6.11331869344809e-40,6.103383487336027e-40,6.093448281223964e-40,6.083499062127258e-40,6.073563856015195e-40,6.063628649903132e-40,6.053679430806426e-40,6.043744224694363e-40,6.033795005597657e-40,6.023859799485594e-40,6.013924593373531e-40,6.003975374276825e-40,5.994040168164762e-40,5.984104962052699e-40,5.974155742955993e-40,5.96422053684393e-40,5.954285330731867e-40,5.9443361116351605e-40,5.9344009055230976e-40,5.924451686426391e-40,5.914516480314328e-40,5.9045812742022655e-40,5.894632055105559e-40,5.884696848993496e-40,5.874761642881433e-40,5.864812423784727e-40,5.854877217672664e-40,5.844927998575958e-40,5.834992792463895e-40,5.825057586351832e-40,5.815108367255126e-40,5.805173161143063e-40,5.795237955031e-40,5.785288735934294e-40,5.775353529822231e-40,5.765418323710168e-40,5.755469104613462e-40,5.745533898501399e-40,5.7355846794046925e-40,5.7256494732926296e-40,5.715714267180567e-40,5.70576504808386e-40,5.6958298419717975e-40,5.6858946358597345e-40,5.675945416763028e-40,5.666010210650965e-40,5.656060991554259e-40,5.646125785442196e-40,5.636190579330133e-40,5.626241360233427e-40,5.616306154121364e-40,5.606370948009301e-40,5.596421728912595e-40,5.586486522800532e-40,5.576551316688469e-40,5.566602097591763e-40,5.5566668914797e-40,5.546717672382994e-40,5.536782466270931e-40,5.526847260158868e-40,5.5168980410621616e-40,5.506962834950099e-40,5.497027628838036e-40,5.4870784097413295e-40,5.4771432036292665e-40,5.4672079975172035e-40,5.457258778420497e-40,5.447323572308434e-40,5.437374353211728e-40,5.427439147099665e-40,5.417503940987602e-40,5.407554721890896e-40,5.397619515778833e-40,5.38768430966677e-40,5.377735090570064e-40,5.367799884458001e-40,5.357850665361295e-40,5.347915459249232e-40,5.337980253137169e-40,5.328031034040463e-40,5.3180958279284e-40,5.308160621816337e-40,5.298211402719631e-40,5.288276196607568e-40,5.278340990495505e-40,5.2683917713987985e-40,5.2584565652867355e-40,5.248507346190029e-40,5.238572140077966e-40,5.2286369339659034e-40,5.218687714869197e-40,5.208752508757134e-40,5.198817302645071e-40,5.188868083548365e-40,5.178932877436302e-40,5.168997671324239e-40,5.159048452227533e-40,5.14911324611547e-40,5.139164027018764e-40,5.129228820906701e-40,5.119293614794638e-40,5.109344395697932e-40,5.099409189585869e-40,5.089473983473806e-40,5.0795247643771e-40,5.069589558265037e-40,5.0596403391683305e-40,5.0497051330562675e-40,5.039769926944205e-40,5.029820707847498e-40,5.0198855017354354e-40,5.0099502956233725e-40,5.000001076526666e-40,4.990065870414603e-40,4.98013066430254e-40,4.970181445205834e-40,4.960246239093771e-40,4.950297019997065e-40,4.940361813885002e-40,4.930426607772939e-40,4.920477388676233e-40,4.91054218256417e-40,4.900606976452107e-40,4.890657757355401e-40,4.880722551243338e-40,4.870787345131275e-40,4.860838126034569e-40,4.850902919922506e-40,4.8409537008257995e-40,4.831018494713737e-40,4.821083288601674e-40,4.8111340695049674e-40,4.8011988633929045e-40,4.7912636572808415e-40,4.781314438184135e-40,4.771379232072072e-40,4.761430012975366e-40,4.751494806863303e-40,4.74155960075124e-40,4.731610381654534e-40,4.721675175542471e-40,4.711739969430408e-40,4.701790750333702e-40,4.691855544221639e-40,4.681920338109576e-40,4.67197111901287e-40,4.662035912900807e-40,4.652086693804101e-40,4.642151487692038e-40,4.632216281579975e-40,4.622267062483269e-40,4.612331856371206e-40,4.602396650259143e-40,4.5924474311624365e-40,4.5825122250503735e-40,4.5725770189383106e-40,4.562627799841604e-40,4.5526925937295414e-40,4.542743374632835e-40,4.532808168520772e-40,4.522872962408709e-40,4.512923743312003e-40,4.50298853719994e-40,4.493053331087877e-40,4.483104111991171e-40,4.473168905879108e-40,4.463219686782402e-40,4.453284480670339e-40,4.443349274558276e-40,4.43340005546157e-40,4.423464849349507e-40,4.413529643237444e-40,4.403580424140738e-40,4.393645218028675e-40,4.383710011916612e-40,4.3737607928199055e-40,4.3638255867078426e-40,4.353876367611136e-40,4.3439411614990734e-40,4.3340059553870105e-40,4.324056736290304e-40,4.314121530178241e-40,4.304186324066178e-40,4.294237104969472e-40,4.284301898857409e-40,4.274352679760703e-40,4.26441747364864e-40,4.254482267536577e-40,4.244533048439871e-40,4.234597842327808e-40,4.224662636215745e-40,4.214713417119039e-40,4.204778211006976e-40,4.194843004894913e-40,4.184893785798207e-40,4.174958579686144e-40,4.1650093605894375e-40,4.1550741544773746e-40,4.145138948365312e-40,4.1351897292686054e-40,4.1252545231565425e-40,4.1153193170444795e-40,4.105370097947773e-40,4.09543489183571e-40,4.0854996857236474e-40,4.075550466626941e-40,4.065615260514878e-40,4.055666041418172e-40,4.045730835306109e-40,4.035795629194046e-40,4.02584641009734e-40,4.015911203985277e-40,4.005975997873214e-40,3.996026778776508e-40,3.986091572664445e-40,3.976142353567739e-40,3.966207147455676e-40,3.956271941343613e-40,3.9463227222469066e-40,3.936387516134844e-40,3.926452310022781e-40,3.9165030909260745e-40,3.9065678848140115e-40,3.8966326787019486e-40,3.886683459605242e-40,3.8767482534931794e-40,3.866799034396473e-40,3.85686382828441e-40,3.846928622172347e-40,3.836979403075641e-40,3.827044196963578e-40,3.817108990851515e-40,3.807159771754809e-40,3.797224565642746e-40,3.787289359530683e-40,3.777340140433977e-40,3.767404934321914e-40,3.757455715225208e-40,3.747520509113145e-40,3.737585303001082e-40,3.727636083904376e-40,3.717700877792313e-40,3.70776567168025e-40,3.6978164525835435e-40,3.6878812464714806e-40,3.677932027374774e-40,3.6679968212627114e-40,3.6580616151506485e-40,3.6481123960539423e-40,3.6381771899418793e-40,3.6282419838298164e-40,3.61829276473311e-40,3.6083575586210472e-40,3.5984223525089843e-40,3.588473133412278e-40,3.578537927300215e-40,3.568588708203509e-40,3.558653502091446e-40,3.548718295979383e-40,3.5387690768826768e-40,3.528833870770614e-40,3.518898664658551e-40,3.5089494455618447e-40,3.4990142394497817e-40,3.4890790333377188e-40,3.4791298142410126e-40,3.4691946081289496e-40,3.4592453890322434e-40,3.4493101829201805e-40,3.4393749768081175e-40,3.4294257577114113e-40,3.4194905515993484e-40,3.4095553454872854e-40,3.3996061263905792e-40,3.3896709202785163e-40,3.37972170118181e-40,3.369786495069747e-40,3.359851288957684e-40,3.349902069860978e-40,3.339966863748915e-40,3.330031657636852e-40,3.320082438540146e-40,3.310147232428083e-40,3.30021202631602e-40,3.2902628072193137e-40,3.2803276011072508e-40,3.2703783820105446e-40,3.2604431758984816e-40,3.2505079697864187e-40,3.2405587506897125e-40,3.2306235445776495e-40,3.2206883384655866e-40,3.2107391193688804e-40,3.2008039132568174e-40,3.1908546941601112e-40,3.1809194880480483e-40,3.1709842819359853e-40,3.161035062839279e-40,3.151099856727216e-40,3.141164650615153e-40,3.131215431518447e-40,3.121280225406384e-40,3.111345019294321e-40,3.101395800197615e-40,3.091460594085552e-40,3.0815113749888457e-40,3.0715761688767828e-40,3.06164096276472e-40,3.0516917436680136e-40,3.0417565375559507e-40,3.0318213314438877e-40,3.0218721123471815e-40,3.0119369062351186e-40,3.0020017001230556e-40,2.9920524810263494e-40,2.9821172749142865e-40,2.9721680558175803e-40,2.9622328497055173e-40,2.9522976435934543e-40,2.942348424496748e-40,2.932413218384685e-40,2.9224780122726222e-40,2.912528793175916e-40,2.902593587063853e-40,2.892644367967147e-40,2.882709161855084e-40,2.872773955743021e-40,2.8628247366463148e-40,2.852889530534252e-40,2.842954324422189e-40,2.8330051053254827e-40,2.8230698992134197e-40,2.8131346931013568e-40,2.8031854740046506e-40,2.7932502678925876e-40,2.7833010487958814e-40,2.7733658426838185e-40,2.7634306365717555e-40,2.7534814174750493e-40,2.7435462113629864e-40,2.7336110052509234e-40,2.723661786154217e-40,2.7137265800421542e-40,2.7037913739300913e-40,2.693842154833385e-40,2.683906948721322e-40,2.673957729624616e-40,2.664022523512553e-40,2.65408731740049e-40,2.644138098303784e-40,2.634202892191721e-40,2.624267686079658e-40,2.6143184669829517e-40,2.6043832608708888e-40,2.5944340417741826e-40,2.5844988356621196e-40,2.5745636295500567e-40,2.5646144104533505e-40,2.5546792043412875e-40,2.5447439982292246e-40,2.5347947791325184e-40,2.5248595730204554e-40,2.5149243669083924e-40,2.5049751478116862e-40,2.4950399416996233e-40,2.485090722602917e-40,2.475155516490854e-40,2.465220310378791e-40,2.455271091282085e-40,2.445335885170022e-40,2.435400679057959e-40,2.425451459961253e-40,2.41551625384919e-40,2.405581047737127e-40,2.3956318286404208e-40,2.385696622528358e-40,2.3757474034316516e-40,2.3658121973195887e-40,2.3558769912075257e-40,2.3459277721108195e-40,2.3359925659987566e-40,2.3260573598866936e-40,2.3161081407899874e-40,2.3061729346779244e-40,2.2962237155812182e-40,2.2862885094691553e-40,2.2763533033570923e-40,2.266404084260386e-40,2.256468878148323e-40,2.2465336720362602e-40,2.236584452939554e-40,2.226649246827491e-40,2.216714040715428e-40,2.206764821618722e-40,2.196829615506659e-40,2.1868803964099528e-40,2.17694519029789e-40,2.167009984185827e-40,2.1570607650891207e-40,2.1471255589770577e-40,2.1371903528649948e-40,2.1272411337682886e-40,2.1173059276562256e-40,2.1073707215441626e-40,2.0974215024474564e-40,2.0874862963353935e-40,2.0775370772386873e-40,2.0676018711266243e-40,2.0576666650145614e-40,2.047717445917855e-40,2.0377822398057922e-40,2.0278470336937293e-40,2.017897814597023e-40,2.00796260848496e-40,1.998013389388254e-40,1.988078183276191e-40,1.978142977164128e-40,1.968193758067422e-40,1.958258551955359e-40,1.948323345843296e-40,1.9383741267465897e-40,1.9284389206345268e-40,1.918503714522464e-40,1.9085544954257576e-40,1.8986192893136946e-40,1.8886700702169884e-40,1.8787348641049255e-40,1.8687996579928625e-40,1.8588504388961563e-40,1.8489152327840934e-40,1.8389800266720304e-40,1.8290308075753242e-40,1.8190956014632613e-40,1.809146382366555e-40,1.7992111762544921e-40,1.7892759701424292e-40,1.779326751045723e-40,1.76939154493366e-40,1.759456338821597e-40,1.7495071197248909e-40,1.739571913612828e-40,1.729636707500765e-40,1.7196874884040588e-40,1.7097522822919958e-40,1.6998030631952896e-40,1.6898678570832267e-40,1.6799326509711637e-40,1.6699834318744575e-40,1.6600482257623945e-40,1.6501130196503316e-40,1.6401638005536254e-40,1.6302285944415624e-40,1.6202933883294995e-40,1.6103441692327933e-40,1.6004089631207303e-40,1.5904597440240241e-40,1.5805245379119612e-40,1.5705893317998982e-40,1.560640112703192e-40,1.550704906591129e-40,1.5407697004790661e-40,1.53082048138236e-40,1.520885275270297e-40,1.5109360561735908e-40,1.5010008500615278e-40,1.4910656439494649e-40,1.4811164248527587e-40,1.4711812187406957e-40,1.4612460126286327e-40,1.4512967935319265e-40,1.4413615874198636e-40,1.4314263813078006e-40,1.4214771622110944e-40,1.4115419560990315e-40,1.4015927370023253e-40,1.3916575308902623e-40,1.3817223247781994e-40,1.3717731056814932e-40,1.3618378995694302e-40,1.3519026934573673e-40,1.341953474360661e-40,1.3320182682485981e-40,1.3220830621365352e-40,1.312133843039829e-40,1.302198636927766e-40,1.2922494178310598e-40,1.2823142117189969e-40,1.272379005606934e-40,1.2624297865102277e-40,1.2524945803981647e-40,1.2425593742861018e-40,1.2326101551893956e-40,1.2226749490773326e-40,1.2127257299806264e-40,1.2027905238685635e-40,1.1928553177565005e-40,1.1829060986597943e-40,1.1729708925477314e-40,1.1630356864356684e-40,1.1530864673389622e-40,1.1431512612268993e-40,1.1332160551148363e-40,1.1232668360181301e-40,1.1133316299060672e-40,1.103382410809361e-40,1.093447204697298e-40,1.083511998585235e-40,1.0735627794885289e-40,1.063627573376466e-40,1.053692367264403e-40,1.0437431481676967e-40,1.0338079420556338e-40,1.0238727359435708e-40,1.0139235168468646e-40,1.0039883107348017e-40,9.940390916380955e-41,9.841038855260325e-41,9.741686794139696e-41,9.642194603172634e-41,9.542842542052004e-41,9.443490480931375e-41,9.343998289964313e-41,9.244646228843683e-41,9.145154037876621e-41,9.045801976755992e-41,8.946449915635362e-41,8.8469577246683e-41,8.747605663547671e-41,8.648253602427041e-41,8.548761411459979e-41,8.44940935033935e-41,8.35005728921872e-41,8.250565098251658e-41,8.151213037131028e-41,8.051720846163966e-41,7.952368785043337e-41,7.853016723922707e-41,7.753524532955645e-41,7.654172471835016e-41,7.554820410714386e-41,7.455328219747324e-41,7.355976158626695e-41,7.256483967659633e-41,7.157131906539003e-41,7.057779845418374e-41,6.958287654451312e-41,6.858935593330682e-41,6.759583532210053e-41,6.660091341242991e-41,6.560739280122361e-41,6.461387219001732e-41,6.36189502803467e-41,6.26254296691404e-41,6.163050775946978e-41,6.063698714826348e-41,5.964346653705719e-41,5.864854462738657e-41,5.765502401618027e-41,5.666150340497398e-41,5.566658149530336e-41,5.467306088409706e-41,5.367954027289077e-41,5.268461836322015e-41,5.169109775201385e-41,5.069617584234323e-41,4.970265523113694e-41,4.870913461993064e-41,4.771421271026002e-41,4.672069209905373e-41,4.572717148784743e-41,4.473224957817681e-41,4.3738728966970515e-41,4.2743807057299895e-41,4.17502864460936e-41,4.0756765834887305e-41,3.9761843925216684e-41,3.876832331401039e-41,3.7774802702804094e-41,3.6779880793133474e-41,3.578636018192718e-41,3.4792839570720883e-41,3.3797917661050263e-41,3.280439704984397e-41,3.180947514017335e-41,3.081595452896705e-41,2.9822433917760757e-41,2.8827512008090137e-41,2.783399139688384e-41,2.6840470785677546e-41,2.5845548876006926e-41,2.485202826480063e-41,2.3858507653594335e-41,2.2863585743923715e-41,2.187006513271742e-41,2.08751432230468e-41,1.9881622611840505e-41,1.888810200063421e-41,1.789318009096359e-41,1.6899659479757294e-41,1.5906138868550999e-41,1.4911216958880378e-41,1.3917696347674083e-41,1.2922774438003463e-41,1.1929253826797168e-41,1.0935733215590872e-41,9.940811305920252e-42,8.947290694713957e-42,7.953770083507662e-42,6.958848173837042e-42,5.965327562630746e-42,4.971806951424451e-42,3.976885041753831e-42,2.9833644305475355e-42,1.9884425208769154e-42,9.949219096706201e-43,1.401298464324817e-45]} diff --git a/test/fixtures/julia/bits_1e36_1e38.json b/test/fixtures/julia/bits_1e36_1e38.json deleted file mode 100644 index f370bba..0000000 --- a/test/fixtures/julia/bits_1e36_1e38.json +++ /dev/null @@ -1 +0,0 @@ -{"expected":["01111011010000001001011111001110","01111011010100111000101111000110","01111011011001100111111110111101","01111011011110010111001110110100","01111011100001100011001111010101","01111011100011111010110111010001","01111011100110010010011111001100","01111011101000101010000111001000","01111011101011000001101111000011","01111011101101011001010110111111","01111011101111110000111110111011","01111011110010001000100110110110","01111011110100100000001110110010","01111011110110110111110110101101","01111011111001001111011110101001","01111011111011100111000110100100","01111011111101111110101110100000","01111100000000001011001011001110","01111100000001010110111111001011","01111100000010100010110011001001","01111100000011101110100111000111","01111100000100111010011011000101","01111100000110000110001111000010","01111100000111010010000011000000","01111100001000011101110110111110","01111100001001101001101010111100","01111100001010110101011110111001","01111100001100000001010010110111","01111100001101001101000110110101","01111100001110011000111010110011","01111100001111100100101110110001","01111100010000110000100010101110","01111100010001111100010110101100","01111100010011001000001010101010","01111100010100010011111110101000","01111100010101011111110010100101","01111100010110101011100110100011","01111100010111110111011010100001","01111100011001000011001110011111","01111100011010001111000010011100","01111100011011011010110110011010","01111100011100100110101010011000","01111100011101110010011110010110","01111100011110111110010010010011","01111100100000000101000011001001","01111100100000101010111101000111","01111100100001010000110111000110","01111100100001110110110001000101","01111100100010011100101011000100","01111100100011000010100101000011","01111100100011101000011111000010","01111100100100001110011001000001","01111100100100110100010011000000","01111100100101011010001100111111","01111100100110000000000110111101","01111100100110100110000000111100","01111100100111001011111010111011","01111100100111110001110100111010","01111100101000010111101110111001","01111100101000111101101000111000","01111100101001100011100010110111","01111100101010001001011100110110","01111100101010101111010110110100","01111100101011010101010000110011","01111100101011111011001010110010","01111100101100100001000100110001","01111100101101000110111110110000","01111100101101101100111000101111","01111100101110010010110010101110","01111100101110111000101100101101","01111100101111011110100110101100","01111100110000000100100000101010","01111100110000101010011010101001","01111100110001010000010100101000","01111100110001110110001110100111","01111100110010011100001000100110","01111100110011000010000010100101","01111100110011100111111100100100","01111100110100001101110110100011","01111100110100110011110000100001","01111100110101011001101010100000","01111100110101111111100100011111","01111100110110100101011110011110","01111100110111001011011000011101","01111100110111110001010010011100","01111100111000010111001100011011","01111100111000111101000110011010","01111100111001100011000000011001","01111100111010001000111010010111","01111100111010101110110100010110","01111100111011010100101110010101","01111100111011111010101000010100","01111100111100100000100010010011","01111100111101000110011100010010","01111100111101101100010110010001","01111100111110010010010000010000","01111100111110111000001010001110","01111100111111011110000100001101","01111101000000000001111111000110","01111101000000010100111100000110","01111101000000100111111001000101","01111101000000111010110110000100","01111101000001001101110011000100","01111101000001100000110000000011","01111101000001110011101101000011","01111101000010000110101010000010","01111101000010011001100111000010","01111101000010101100100100000001","01111101000010111111100001000001","01111101000011010010011110000000","01111101000011100101011010111111","01111101000011111000010111111111","01111101000100001011010100111110","01111101000100011110010001111110","01111101000100110001001110111101","01111101000101000100001011111101","01111101000101010111001000111100","01111101000101101010000101111011","01111101000101111101000010111011","01111101000110001111111111111010","01111101000110100010111100111010","01111101000110110101111001111001","01111101000111001000110110111001","01111101000111011011110011111000","01111101000111101110110000111000","01111101001000000001101101110111","01111101001000010100101010110110","01111101001000100111100111110110","01111101001000111010100100110101","01111101001001001101100001110101","01111101001001100000011110110100","01111101001001110011011011110100","01111101001010000110011000110011","01111101001010011001010101110011","01111101001010101100010010110010","01111101001010111111001111110001","01111101001011010010001100110001","01111101001011100101001001110000","01111101001011111000000110110000","01111101001100001011000011101111","01111101001100011110000000101111","01111101001100110000111101101110","01111101001101000011111010101110","01111101001101010110110111101101","01111101001101101001110100101100","01111101001101111100110001101100","01111101001110001111101110101011","01111101001110100010101011101011","01111101001110110101101000101010","01111101001111001000100101101010","01111101001111011011100010101001","01111101001111101110011111101000","01111101010000000001011100101000","01111101010000010100011001100111","01111101010000100111010110100111","01111101010000111010010011100110","01111101010001001101010000100110","01111101010001100000001101100101","01111101010001110011001010100101","01111101010010000110000111100100","01111101010010011001000100100011","01111101010010101100000001100011","01111101010010111110111110100010","01111101010011010001111011100010","01111101010011100100111000100001","01111101010011110111110101100001","01111101010100001010110010100000","01111101010100011101101111100000","01111101010100110000101100011111","01111101010101000011101001011110","01111101010101010110100110011110","01111101010101101001100011011101","01111101010101111100100000011101","01111101010110001111011101011100","01111101010110100010011010011100","01111101010110110101010111011011","01111101010111001000010100011011","01111101010111011011010001011010","01111101010111101110001110011001","01111101011000000001001011011001","01111101011000010100001000011000","01111101011000100111000101011000","01111101011000111010000010010111","01111101011001001100111111010111","01111101011001011111111100010110","01111101011001110010111001010101","01111101011010000101110110010101","01111101011010011000110011010100","01111101011010101011110000010100","01111101011010111110101101010011","01111101011011010001101010010011","01111101011011100100100111010010","01111101011011110111100100010010","01111101011100001010100001010001","01111101011100011101011110010000","01111101011100110000011011010000","01111101011101000011011000001111","01111101011101010110010101001111","01111101011101101001010010001110","01111101011101111100001111001110","01111101011110001111001100001101","01111101011110100010001001001101","01111101011110110101000110001100","01111101011111001000000011001011","01111101011111011011000000001011","01111101011111101101111101001010","01111101100000000000011101000101","01111101100000001001111011100101","01111101100000010011011010000100","01111101100000011100111000100100","01111101100000100110010111000100","01111101100000101111110101100011","01111101100000111001010100000011","01111101100001000010110010100011","01111101100001001100010001000011","01111101100001010101101111100010","01111101100001011111001110000010","01111101100001101000101100100010","01111101100001110010001011000010","01111101100001111011101001100001","01111101100010000101001000000001","01111101100010001110100110100001","01111101100010011000000101000000","01111101100010100001100011100000","01111101100010101011000010000000","01111101100010110100100000100000","01111101100010111101111110111111","01111101100011000111011101011111","01111101100011010000111011111111","01111101100011011010011010011110","01111101100011100011111000111110","01111101100011101101010111011110","01111101100011110110110101111110","01111101100100000000010100011101","01111101100100001001110010111101","01111101100100010011010001011101","01111101100100011100101111111100","01111101100100100110001110011100","01111101100100101111101100111100","01111101100100111001001011011100","01111101100101000010101001111011","01111101100101001100001000011011","01111101100101010101100110111011","01111101100101011111000101011011","01111101100101101000100011111010","01111101100101110010000010011010","01111101100101111011100000111010","01111101100110000100111111011001","01111101100110001110011101111001","01111101100110010111111100011001","01111101100110100001011010111001","01111101100110101010111001011000","01111101100110110100010111111000","01111101100110111101110110011000","01111101100111000111010100110111","01111101100111010000110011010111","01111101100111011010010001110111","01111101100111100011110000010111","01111101100111101101001110110110","01111101100111110110101101010110","01111101101000000000001011110110","01111101101000001001101010010101","01111101101000010011001000110101","01111101101000011100100111010101","01111101101000100110000101110101","01111101101000101111100100010100","01111101101000111001000010110100","01111101101001000010100001010100","01111101101001001011111111110100","01111101101001010101011110010011","01111101101001011110111100110011","01111101101001101000011011010011","01111101101001110001111001110010","01111101101001111011011000010010","01111101101010000100110110110010","01111101101010001110010101010010","01111101101010010111110011110001","01111101101010100001010010010001","01111101101010101010110000110001","01111101101010110100001111010000","01111101101010111101101101110000","01111101101011000111001100010000","01111101101011010000101010110000","01111101101011011010001001001111","01111101101011100011100111101111","01111101101011101101000110001111","01111101101011110110100100101111","01111101101100000000000011001110","01111101101100001001100001101110","01111101101100010011000000001110","01111101101100011100011110101101","01111101101100100101111101001101","01111101101100101111011011101101","01111101101100111000111010001101","01111101101101000010011000101100","01111101101101001011110111001100","01111101101101010101010101101100","01111101101101011110110100001011","01111101101101101000010010101011","01111101101101110001110001001011","01111101101101111011001111101011","01111101101110000100101110001010","01111101101110001110001100101010","01111101101110010111101011001010","01111101101110100001001001101001","01111101101110101010101000001001","01111101101110110100000110101001","01111101101110111101100101001001","01111101101111000111000011101000","01111101101111010000100010001000","01111101101111011010000000101000","01111101101111100011011111001000","01111101101111101100111101100111","01111101101111110110011100000111","01111101101111111111111010100111","01111101110000001001011001000110","01111101110000010010110111100110","01111101110000011100010110000110","01111101110000100101110100100110","01111101110000101111010011000101","01111101110000111000110001100101","01111101110001000010010000000101","01111101110001001011101110100100","01111101110001010101001101000100","01111101110001011110101011100100","01111101110001101000001010000100","01111101110001110001101000100011","01111101110001111011000111000011","01111101110010000100100101100011","01111101110010001110000100000010","01111101110010010111100010100010","01111101110010100001000001000010","01111101110010101010011111100010","01111101110010110011111110000001","01111101110010111101011100100001","01111101110011000110111011000001","01111101110011010000011001100001","01111101110011011001111000000000","01111101110011100011010110100000","01111101110011101100110101000000","01111101110011110110010011011111","01111101110011111111110001111111","01111101110100001001010000011111","01111101110100010010101110111111","01111101110100011100001101011110","01111101110100100101101011111110","01111101110100101111001010011110","01111101110100111000101000111101","01111101110101000010000111011101","01111101110101001011100101111101","01111101110101010101000100011101","01111101110101011110100010111100","01111101110101101000000001011100","01111101110101110001011111111100","01111101110101111010111110011100","01111101110110000100011100111011","01111101110110001101111011011011","01111101110110010111011001111011","01111101110110100000111000011010","01111101110110101010010110111010","01111101110110110011110101011010","01111101110110111101010011111010","01111101110111000110110010011001","01111101110111010000010000111001","01111101110111011001101111011001","01111101110111100011001101111000","01111101110111101100101100011000","01111101110111110110001010111000","01111101110111111111101001011000","01111101111000001001000111110111","01111101111000010010100110010111","01111101111000011100000100110111","01111101111000100101100011010110","01111101111000101111000001110110","01111101111000111000100000010110","01111101111001000001111110110110","01111101111001001011011101010101","01111101111001010100111011110101","01111101111001011110011010010101","01111101111001100111111000110101","01111101111001110001010111010100","01111101111001111010110101110100","01111101111010000100010100010100","01111101111010001101110010110011","01111101111010010111010001010011","01111101111010100000101111110011","01111101111010101010001110010011","01111101111010110011101100110010","01111101111010111101001011010010","01111101111011000110101001110010","01111101111011010000001000010001","01111101111011011001100110110001","01111101111011100011000101010001","01111101111011101100100011110001","01111101111011110110000010010000","01111101111011111111100000110000","01111101111100001000111111010000","01111101111100010010011101101111","01111101111100011011111100001111","01111101111100100101011010101111","01111101111100101110111001001111","01111101111100111000010111101110","01111101111101000001110110001110","01111101111101001011010100101110","01111101111101010100110011001110","01111101111101011110010001101101","01111101111101100111110000001101","01111101111101110001001110101101","01111101111101111010101101001100","01111101111110000100001011101100","01111101111110001101101010001100","01111101111110010111001000101100","01111101111110100000100111001011","01111101111110101010000101101011","01111101111110110011100100001011","01111101111110111101000010101010","01111101111111000110100001001010","01111101111111001111111111101010","01111101111111011001011110001010","01111101111111100010111100101001","01111101111111101100011011001001","01111101111111110101111001101001","01111101111111111111011000001000","01111110000000000100011011010100","01111110000000001001001010100100","01111110000000001101111001110100","01111110000000010010101001000100","01111110000000010111011000010100","01111110000000011100000111100011","01111110000000100000110110110011","01111110000000100101100110000011","01111110000000101010010101010011","01111110000000101111000100100011","01111110000000110011110011110011","01111110000000111000100011000011","01111110000000111101010010010010","01111110000001000010000001100010","01111110000001000110110000110010","01111110000001001011100000000010","01111110000001010000001111010010","01111110000001010100111110100010","01111110000001011001101101110010","01111110000001011110011101000001","01111110000001100011001100010001","01111110000001100111111011100001","01111110000001101100101010110001","01111110000001110001011010000001","01111110000001110110001001010001","01111110000001111010111000100001","01111110000001111111100111110000","01111110000010000100010111000000","01111110000010001001000110010000","01111110000010001101110101100000","01111110000010010010100100110000","01111110000010010111010100000000","01111110000010011100000011010000","01111110000010100000110010011111","01111110000010100101100001101111","01111110000010101010010000111111","01111110000010101111000000001111","01111110000010110011101111011111","01111110000010111000011110101111","01111110000010111101001101111111","01111110000011000001111101001111","01111110000011000110101100011110","01111110000011001011011011101110","01111110000011010000001010111110","01111110000011010100111010001110","01111110000011011001101001011110","01111110000011011110011000101110","01111110000011100011000111111110","01111110000011100111110111001101","01111110000011101100100110011101","01111110000011110001010101101101","01111110000011110110000100111101","01111110000011111010110100001101","01111110000011111111100011011101","01111110000100000100010010101101","01111110000100001001000001111100","01111110000100001101110001001100","01111110000100010010100000011100","01111110000100010111001111101100","01111110000100011011111110111100","01111110000100100000101110001100","01111110000100100101011101011100","01111110000100101010001100101011","01111110000100101110111011111011","01111110000100110011101011001011","01111110000100111000011010011011","01111110000100111101001001101011","01111110000101000001111000111011","01111110000101000110101000001011","01111110000101001011010111011010","01111110000101010000000110101010","01111110000101010100110101111010","01111110000101011001100101001010","01111110000101011110010100011010","01111110000101100011000011101010","01111110000101100111110010111010","01111110000101101100100010001001","01111110000101110001010001011001","01111110000101110110000000101001","01111110000101111010101111111001","01111110000101111111011111001001","01111110000110000100001110011001","01111110000110001000111101101001","01111110000110001101101100111001","01111110000110010010011100001000","01111110000110010111001011011000","01111110000110011011111010101000","01111110000110100000101001111000","01111110000110100101011001001000","01111110000110101010001000011000","01111110000110101110110111101000","01111110000110110011100110110111","01111110000110111000010110000111","01111110000110111101000101010111","01111110000111000001110100100111","01111110000111000110100011110111","01111110000111001011010011000111","01111110000111010000000010010111","01111110000111010100110001100110","01111110000111011001100000110110","01111110000111011110010000000110","01111110000111100010111111010110","01111110000111100111101110100110","01111110000111101100011101110110","01111110000111110001001101000110","01111110000111110101111100010101","01111110000111111010101011100101","01111110000111111111011010110101","01111110001000000100001010000101","01111110001000001000111001010101","01111110001000001101101000100101","01111110001000010010010111110101","01111110001000010111000111000100","01111110001000011011110110010100","01111110001000100000100101100100","01111110001000100101010100110100","01111110001000101010000100000100","01111110001000101110110011010100","01111110001000110011100010100100","01111110001000111000010001110011","01111110001000111101000001000011","01111110001001000001110000010011","01111110001001000110011111100011","01111110001001001011001110110011","01111110001001001111111110000011","01111110001001010100101101010011","01111110001001011001011100100010","01111110001001011110001011110010","01111110001001100010111011000010","01111110001001100111101010010010","01111110001001101100011001100010","01111110001001110001001000110010","01111110001001110101111000000010","01111110001001111010100111010010","01111110001001111111010110100001","01111110001010000100000101110001","01111110001010001000110101000001","01111110001010001101100100010001","01111110001010010010010011100001","01111110001010010111000010110001","01111110001010011011110010000001","01111110001010100000100001010000","01111110001010100101010000100000","01111110001010101001111111110000","01111110001010101110101111000000","01111110001010110011011110010000","01111110001010111000001101100000","01111110001010111100111100110000","01111110001011000001101011111111","01111110001011000110011011001111","01111110001011001011001010011111","01111110001011001111111001101111","01111110001011010100101000111111","01111110001011011001011000001111","01111110001011011110000111011111","01111110001011100010110110101110","01111110001011100111100101111110","01111110001011101100010101001110","01111110001011110001000100011110","01111110001011110101110011101110","01111110001011111010100010111110","01111110001011111111010010001110","01111110001100000100000001011101","01111110001100001000110000101101","01111110001100001101011111111101","01111110001100010010001111001101","01111110001100010110111110011101","01111110001100011011101101101101","01111110001100100000011100111101","01111110001100100101001100001100","01111110001100101001111011011100","01111110001100101110101010101100","01111110001100110011011001111100","01111110001100111000001001001100","01111110001100111100111000011100","01111110001101000001100111101100","01111110001101000110010110111100","01111110001101001011000110001011","01111110001101001111110101011011","01111110001101010100100100101011","01111110001101011001010011111011","01111110001101011110000011001011","01111110001101100010110010011011","01111110001101100111100001101011","01111110001101101100010000111010","01111110001101110001000000001010","01111110001101110101101111011010","01111110001101111010011110101010","01111110001101111111001101111010","01111110001110000011111101001010","01111110001110001000101100011010","01111110001110001101011011101001","01111110001110010010001010111001","01111110001110010110111010001001","01111110001110011011101001011001","01111110001110100000011000101001","01111110001110100101000111111001","01111110001110101001110111001001","01111110001110101110100110011000","01111110001110110011010101101000","01111110001110111000000100111000","01111110001110111100110100001000","01111110001111000001100011011000","01111110001111000110010010101000","01111110001111001011000001111000","01111110001111001111110001000111","01111110001111010100100000010111","01111110001111011001001111100111","01111110001111011101111110110111","01111110001111100010101110000111","01111110001111100111011101010111","01111110001111101100001100100111","01111110001111110000111011110110","01111110001111110101101011000110","01111110001111111010011010010110","01111110001111111111001001100110","01111110010000000011111000110110","01111110010000001000101000000110","01111110010000001101010111010110","01111110010000010010000110100110","01111110010000010110110101110101","01111110010000011011100101000101","01111110010000100000010100010101","01111110010000100101000011100101","01111110010000101001110010110101","01111110010000101110100010000101","01111110010000110011010001010101","01111110010000111000000000100100","01111110010000111100101111110100","01111110010001000001011111000100","01111110010001000110001110010100","01111110010001001010111101100100","01111110010001001111101100110100","01111110010001010100011100000100","01111110010001011001001011010011","01111110010001011101111010100011","01111110010001100010101001110011","01111110010001100111011001000011","01111110010001101100001000010011","01111110010001110000110111100011","01111110010001110101100110110011","01111110010001111010010110000010","01111110010001111111000101010010","01111110010010000011110100100010","01111110010010001000100011110010","01111110010010001101010011000010","01111110010010010010000010010010","01111110010010010110110001100010","01111110010010011011100000110001","01111110010010100000010000000001","01111110010010100100111111010001","01111110010010101001101110100001","01111110010010101110011101110001","01111110010010110011001101000001","01111110010010110111111100010001","01111110010010111100101011100000","01111110010011000001011010110000","01111110010011000110001010000000","01111110010011001010111001010000","01111110010011001111101000100000","01111110010011010100010111110000","01111110010011011001000111000000","01111110010011011101110110001111","01111110010011100010100101011111","01111110010011100111010100101111","01111110010011101100000011111111","01111110010011110000110011001111","01111110010011110101100010011111","01111110010011111010010001101111","01111110010011111111000000111111","01111110010100000011110000001110","01111110010100001000011111011110","01111110010100001101001110101110","01111110010100010001111101111110","01111110010100010110101101001110","01111110010100011011011100011110","01111110010100100000001011101110","01111110010100100100111010111101","01111110010100101001101010001101","01111110010100101110011001011101","01111110010100110011001000101101","01111110010100110111110111111101","01111110010100111100100111001101","01111110010101000001010110011101","01111110010101000110000101101100","01111110010101001010110100111100","01111110010101001111100100001100","01111110010101010100010011011100","01111110010101011001000010101100","01111110010101011101110001111100","01111110010101100010100001001100","01111110010101100111010000011011","01111110010101101011111111101011","01111110010101110000101110111011","01111110010101110101011110001011","01111110010101111010001101011011","01111110010101111110111100101011","01111110010110000011101011111011","01111110010110001000011011001010","01111110010110001101001010011010","01111110010110010001111001101010","01111110010110010110101000111010","01111110010110011011011000001010","01111110010110100000000111011010","01111110010110100100110110101010","01111110010110101001100101111001","01111110010110101110010101001001","01111110010110110011000100011001","01111110010110110111110011101001","01111110010110111100100010111001","01111110010111000001010010001001","01111110010111000110000001011001","01111110010111001010110000101001","01111110010111001111011111111000","01111110010111010100001111001000","01111110010111011000111110011000","01111110010111011101101101101000","01111110010111100010011100111000","01111110010111100111001100001000","01111110010111101011111011011000","01111110010111110000101010100111","01111110010111110101011001110111","01111110010111111010001001000111","01111110010111111110111000010111","01111110011000000011100111100111","01111110011000001000010110110111","01111110011000001101000110000111","01111110011000010001110101010110","01111110011000010110100100100110","01111110011000011011010011110110","01111110011000100000000011000110","01111110011000100100110010010110","01111110011000101001100001100110","01111110011000101110010000110110","01111110011000110011000000000101","01111110011000110111101111010101","01111110011000111100011110100101","01111110011001000001001101110101","01111110011001000101111101000101","01111110011001001010101100010101","01111110011001001111011011100101","01111110011001010100001010110100","01111110011001011000111010000100","01111110011001011101101001010100","01111110011001100010011000100100","01111110011001100111000111110100","01111110011001101011110111000100","01111110011001110000100110010100","01111110011001110101010101100011","01111110011001111010000100110011","01111110011001111110110100000011","01111110011010000011100011010011","01111110011010001000010010100011","01111110011010001101000001110011","01111110011010010001110001000011","01111110011010010110100000010010","01111110011010011011001111100010","01111110011010011111111110110010","01111110011010100100101110000010","01111110011010101001011101010010","01111110011010101110001100100010","01111110011010110010111011110010","01111110011010110111101011000010","01111110011010111100011010010001","01111110011011000001001001100001","01111110011011000101111000110001","01111110011011001010101000000001","01111110011011001111010111010001","01111110011011010100000110100001","01111110011011011000110101110001","01111110011011011101100101000000","01111110011011100010010100010000","01111110011011100111000011100000","01111110011011101011110010110000","01111110011011110000100010000000","01111110011011110101010001010000","01111110011011111010000000100000","01111110011011111110101111101111","01111110011100000011011110111111","01111110011100001000001110001111","01111110011100001100111101011111","01111110011100010001101100101111","01111110011100010110011011111111","01111110011100011011001011001111","01111110011100011111111010011110","01111110011100100100101001101110","01111110011100101001011000111110","01111110011100101110001000001110","01111110011100110010110111011110","01111110011100110111100110101110","01111110011100111100010101111110","01111110011101000001000101001101","01111110011101000101110100011101","01111110011101001010100011101101","01111110011101001111010010111101","01111110011101010100000010001101","01111110011101011000110001011101","01111110011101011101100000101101","01111110011101100010001111111100","01111110011101100110111111001100","01111110011101101011101110011100","01111110011101110000011101101100","01111110011101110101001100111100","01111110011101111001111100001100","01111110011101111110101011011100","01111110011110000011011010101100","01111110011110001000001001111011","01111110011110001100111001001011","01111110011110010001101000011011","01111110011110010110010111101011","01111110011110011011000110111011","01111110011110011111110110001011","01111110011110100100100101011011","01111110011110101001010100101010","01111110011110101110000011111010","01111110011110110010110011001010","01111110011110110111100010011010","01111110011110111100010001101010","01111110011111000001000000111010","01111110011111000101110000001010","01111110011111001010011111011001","01111110011111001111001110101001","01111110011111010011111101111001","01111110011111011000101101001001","01111110011111011101011100011001","01111110011111100010001011101001","01111110011111100110111010111001","01111110011111101011101010001000","01111110011111110000011001011000","01111110011111110101001000101000","01111110011111111001110111111000","01111110011111111110100111001000","01111110100000000001101011001100","01111110100000000100000010110100","01111110100000000110011010011100","01111110100000001000110010000100","01111110100000001011001001101100","01111110100000001101100001010100","01111110100000001111111000111011","01111110100000010010010000100011","01111110100000010100101000001011","01111110100000010110111111110011","01111110100000011001010111011011","01111110100000011011101111000011","01111110100000011110000110101011","01111110100000100000011110010011","01111110100000100010110101111011","01111110100000100101001101100011","01111110100000100111100101001011","01111110100000101001111100110011","01111110100000101100010100011011","01111110100000101110101100000011","01111110100000110001000011101010","01111110100000110011011011010010","01111110100000110101110010111010","01111110100000111000001010100010","01111110100000111010100010001010","01111110100000111100111001110010","01111110100000111111010001011010","01111110100001000001101001000010","01111110100001000100000000101010","01111110100001000110011000010010","01111110100001001000101111111010","01111110100001001011000111100010","01111110100001001101011111001010","01111110100001001111110110110010","01111110100001010010001110011001","01111110100001010100100110000001","01111110100001010110111101101001","01111110100001011001010101010001","01111110100001011011101100111001","01111110100001011110000100100001","01111110100001100000011100001001","01111110100001100010110011110001","01111110100001100101001011011001","01111110100001100111100011000001","01111110100001101001111010101001","01111110100001101100010010010001","01111110100001101110101001111001","01111110100001110001000001100001","01111110100001110011011001001001","01111110100001110101110000110000","01111110100001111000001000011000","01111110100001111010100000000000","01111110100001111100110111101000","01111110100001111111001111010000","01111110100010000001100110111000","01111110100010000011111110100000","01111110100010000110010110001000","01111110100010001000101101110000","01111110100010001011000101011000","01111110100010001101011101000000","01111110100010001111110100101000","01111110100010010010001100010000","01111110100010010100100011111000","01111110100010010110111011011111","01111110100010011001010011000111","01111110100010011011101010101111","01111110100010011110000010010111","01111110100010100000011001111111","01111110100010100010110001100111","01111110100010100101001001001111","01111110100010100111100000110111","01111110100010101001111000011111","01111110100010101100010000000111","01111110100010101110100111101111","01111110100010110000111111010111","01111110100010110011010110111111","01111110100010110101101110100111","01111110100010111000000110001110","01111110100010111010011101110110","01111110100010111100110101011110","01111110100010111111001101000110","01111110100011000001100100101110","01111110100011000011111100010110","01111110100011000110010011111110","01111110100011001000101011100110","01111110100011001011000011001110","01111110100011001101011010110110","01111110100011001111110010011110","01111110100011010010001010000110","01111110100011010100100001101110","01111110100011010110111001010110","01111110100011011001010000111110","01111110100011011011101000100101","01111110100011011110000000001101","01111110100011100000010111110101","01111110100011100010101111011101","01111110100011100101000111000101","01111110100011100111011110101101","01111110100011101001110110010101","01111110100011101100001101111101","01111110100011101110100101100101","01111110100011110000111101001101","01111110100011110011010100110101","01111110100011110101101100011101","01111110100011111000000100000101","01111110100011111010011011101101","01111110100011111100110011010100","01111110100011111111001010111100","01111110100100000001100010100100","01111110100100000011111010001100","01111110100100000110010001110100","01111110100100001000101001011100","01111110100100001011000001000100","01111110100100001101011000101100","01111110100100001111110000010100","01111110100100010010000111111100","01111110100100010100011111100100","01111110100100010110110111001100","01111110100100011001001110110100","01111110100100011011100110011100","01111110100100011101111110000011","01111110100100100000010101101011","01111110100100100010101101010011","01111110100100100101000100111011","01111110100100100111011100100011","01111110100100101001110100001011","01111110100100101100001011110011","01111110100100101110100011011011","01111110100100110000111011000011","01111110100100110011010010101011","01111110100100110101101010010011","01111110100100111000000001111011","01111110100100111010011001100011","01111110100100111100110001001011","01111110100100111111001000110011","01111110100101000001100000011010","01111110100101000011111000000010","01111110100101000110001111101010","01111110100101001000100111010010","01111110100101001010111110111010","01111110100101001101010110100010","01111110100101001111101110001010","01111110100101010010000101110010","01111110100101010100011101011010","01111110100101010110110101000010","01111110100101011001001100101010","01111110100101011011100100010010","01111110100101011101111011111010","01111110100101100000010011100010","01111110100101100010101011001001","01111110100101100101000010110001","01111110100101100111011010011001"],"x":[9.999999616903162e35,1.098409579261934e36,1.1968191176053893e36,1.2952286559488446e36,1.3936381150641374e36,1.492047732635755e36,1.590457191751048e36,1.6888668093226657e36,1.7872762684379585e36,1.8856858860095762e36,1.984095503581194e36,2.0825049626964868e36,2.1809145802681046e36,2.2793240393833974e36,2.377733656955015e36,2.476143116070308e36,2.5745527336419257e36,2.6729623512135435e36,2.771371651872511e36,2.869781269444129e36,2.968190887015747e36,3.0666005045873646e36,3.1650098052463323e36,3.26341942281795e36,3.361829040389568e36,3.4602386579611857e36,3.5586479586201534e36,3.657057576191771e36,3.755467193763389e36,3.853876811335007e36,3.9522864289066246e36,4.0506957295655923e36,4.14910534713721e36,4.247514964708828e36,4.3459245822804457e36,4.4443338829394134e36,4.542743500511031e36,4.641153118082649e36,4.739562735654267e36,4.8379720363132345e36,4.9363816538848523e36,5.03479127145647e36,5.133200889028088e36,5.2316101896870556e36,5.330020124171323e36,5.428429107917641e36,5.526838725489259e36,5.625248343060877e36,5.723657960632495e36,5.822067578204112e36,5.92047719577573e36,6.018886813347348e36,6.117296430918966e36,6.215706048490584e36,6.314115032236901e36,6.412524649808519e36,6.510934267380137e36,6.609343884951755e36,6.707753502523372e36,6.80616312009499e36,6.904572737666608e36,7.002982355238226e36,7.101391338984543e36,7.199800956556161e36,7.298210574127779e36,7.396620191699397e36,7.495029809271015e36,7.593439426842632e36,7.69184904441425e36,7.790258661985868e36,7.888668279557486e36,7.987077263303803e36,8.085486880875421e36,8.183896498447039e36,8.282306116018657e36,8.380715733590275e36,8.479125351161892e36,8.57753496873351e36,8.675944586305128e36,8.774353570051446e36,8.872763187623063e36,8.971172805194681e36,9.069582422766299e36,9.167992040337917e36,9.266401657909535e36,9.364811275481152e36,9.46322089305277e36,9.561630510624388e36,9.660039494370706e36,9.758449111942323e36,9.856858729513941e36,9.955268347085559e36,1.0053677964657177e37,1.0152087582228795e37,1.0250497199800412e37,1.034890681737203e37,1.0447315801118348e37,1.0545725418689966e37,1.0644135036261583e37,1.0742545287658501e37,1.084095427140482e37,1.0939363255151137e37,1.1037773506548055e37,1.1136182490294372e37,1.123459274169129e37,1.1333001725437608e37,1.1431411976834526e37,1.1529820960580843e37,1.1628231211977761e37,1.172664019572408e37,1.1825049179470397e37,1.1923459430867315e37,1.2021868414613632e37,1.212027866601055e37,1.2218687649756868e37,1.2317097901153786e37,1.2415506884900103e37,1.251391586864642e37,1.261232612004334e37,1.2710735103789657e37,1.2809145355186575e37,1.2907554338932892e37,1.300596459032981e37,1.3104373574076128e37,1.3202783825473046e37,1.3301192809219363e37,1.339960179296568e37,1.34980120443626e37,1.3596421028108917e37,1.3694831279505835e37,1.3793240263252152e37,1.389165051464907e37,1.3990059498395388e37,1.4088469749792306e37,1.4186878733538623e37,1.428528771728494e37,1.438369796868186e37,1.4482106952428177e37,1.4580517203825095e37,1.4678926187571412e37,1.477733643896833e37,1.4875745422714648e37,1.4974155674111566e37,1.5072564657857883e37,1.51709736416042e37,1.526938389300112e37,1.5367792876747437e37,1.5466203128144355e37,1.5564612111890672e37,1.566302236328759e37,1.5761431347033908e37,1.5859840330780226e37,1.5958250582177143e37,1.605665956592346e37,1.615506981732038e37,1.6253478801066697e37,1.6351889052463615e37,1.6450298036209932e37,1.654870828760685e37,1.6647117271353168e37,1.6745526255099486e37,1.6843936506496403e37,1.694234549024272e37,1.704075574163964e37,1.7139164725385957e37,1.7237574976782875e37,1.7335983960529192e37,1.743439421192611e37,1.7532803195672428e37,1.7631212179418746e37,1.7729622430815663e37,1.782803141456198e37,1.79264416659589e37,1.8024850649705217e37,1.8123260901102135e37,1.8221669884848452e37,1.832008013624537e37,1.8418489119991688e37,1.8516898103738006e37,1.8615308355134923e37,1.871371733888124e37,1.881212759027816e37,1.8910536574024477e37,1.9008946825421395e37,1.9107355809167712e37,1.920576479291403e37,1.9304175044310948e37,1.9402584028057266e37,1.9500994279454183e37,1.95994032632005e37,1.969781351459742e37,1.9796222498343737e37,1.9894632749740655e37,1.9993041733486972e37,2.009145071723329e37,2.0189860968630208e37,2.0288269952376526e37,2.0386680203773443e37,2.048508918751976e37,2.058349943891668e37,2.0681908422662997e37,2.0780318674059915e37,2.0878727657806232e37,2.097713664155255e37,2.1075546892949468e37,2.1173955876695786e37,2.1272366128092703e37,2.137077637948962e37,2.146918409558534e37,2.1567594346982257e37,2.1666004598379175e37,2.176441231447489e37,2.186282256587181e37,2.196123281726873e37,2.2059643068665646e37,2.2158050784761363e37,2.225646103615828e37,2.23548712875552e37,2.2453281538952117e37,2.2551689255047834e37,2.265009950644475e37,2.274850975784167e37,2.2846917473937388e37,2.2945327725334306e37,2.3043737976731223e37,2.314214822812814e37,2.324055594422386e37,2.3338966195620777e37,2.3437376447017695e37,2.353578416311341e37,2.363419441451033e37,2.373260466590725e37,2.3831014917304166e37,2.3929422633399883e37,2.40278328847968e37,2.412624313619372e37,2.4224650852289436e37,2.4323061103686354e37,2.442147135508327e37,2.451988160648019e37,2.4618289322575908e37,2.4716699573972826e37,2.4815109825369743e37,2.491352007676666e37,2.501192779286238e37,2.5110338044259297e37,2.5208748295656215e37,2.530715601175193e37,2.540556626314885e37,2.550397651454577e37,2.5602386765942686e37,2.5700794482038403e37,2.579920473343532e37,2.589761498483224e37,2.5996022700927956e37,2.6094432952324874e37,2.619284320372179e37,2.629125345511871e37,2.638966117121443e37,2.6488071422611346e37,2.6586481674008263e37,2.668488939010398e37,2.67832996415009e37,2.6881709892897817e37,2.6980120144294735e37,2.707852786039045e37,2.717693811178737e37,2.727534836318429e37,2.7373758614581206e37,2.7472166330676923e37,2.757057658207384e37,2.766898683347076e37,2.7767394549566476e37,2.7865804800963394e37,2.796421505236031e37,2.806262530375723e37,2.816103301985295e37,2.8259443271249866e37,2.8357853522646783e37,2.84562612387425e37,2.855467149013942e37,2.8653081741536337e37,2.8751491992933255e37,2.884989970902897e37,2.894830996042589e37,2.904672021182281e37,2.9145130463219726e37,2.9243538179315443e37,2.934194843071236e37,2.944035868210928e37,2.9538766398204996e37,2.9637176649601914e37,2.973558690099883e37,2.983399715239575e37,2.993240486849147e37,3.0030815119888386e37,3.0129225371285303e37,3.022763308738102e37,3.032604333877794e37,3.0424453590174857e37,3.0522863841571775e37,3.062127155766749e37,3.071968180906441e37,3.081809206046133e37,3.0916499776557045e37,3.1014910027953963e37,3.111332027935088e37,3.12117305307478e37,3.1310138246843516e37,3.1408548498240434e37,3.150695874963735e37,3.160536900103427e37,3.170377671712999e37,3.1802186968526906e37,3.1900597219923823e37,3.199900493601954e37,3.209741518741646e37,3.2195825438813377e37,3.2294235690210295e37,3.239264340630601e37,3.249105365770293e37,3.258946390909985e37,3.2687871625195565e37,3.2786281876592483e37,3.28846921279894e37,3.298310237938632e37,3.3081510095482037e37,3.3179920346878954e37,3.327833059827587e37,3.337673831437159e37,3.347514856576851e37,3.3573558817165426e37,3.3671969068562343e37,3.377037678465806e37,3.386878703605498e37,3.3967197287451897e37,3.4065607538848815e37,3.416401525494453e37,3.426242550634145e37,3.436083575773837e37,3.4459243473834085e37,3.4557653725231003e37,3.465606397662792e37,3.475447422802484e37,3.4852881944120557e37,3.4951292195517474e37,3.504970244691439e37,3.514811016301011e37,3.524652041440703e37,3.5344930665803946e37,3.5443340917200863e37,3.554174863329658e37,3.56401588846935e37,3.5738569136090417e37,3.5836979387487335e37,3.593538710358305e37,3.603379735497997e37,3.613220760637689e37,3.6230615322472605e37,3.6329025573869523e37,3.642743582526644e37,3.652584607666336e37,3.6624253792759077e37,3.6722664044155994e37,3.682107429555291e37,3.691948201164863e37,3.701789226304555e37,3.7116302514442466e37,3.7214712765839383e37,3.73131204819351e37,3.741153073333202e37,3.7509940984728937e37,3.7608348700824654e37,3.770675895222157e37,3.780516920361849e37,3.790357945501541e37,3.8001987171111125e37,3.8100397422508043e37,3.819880767390496e37,3.829721792530188e37,3.8395625641397597e37,3.8494035892794514e37,3.859244614419143e37,3.869085386028715e37,3.878926411168407e37,3.8887674363080986e37,3.8986084614477903e37,3.908449233057362e37,3.918290258197054e37,3.9281312833367457e37,3.9379720549463174e37,3.947813080086009e37,3.957654105225701e37,3.967495130365393e37,3.9773359019749645e37,3.9871769271146563e37,3.997017952254348e37,4.00685872386392e37,4.0166997490036117e37,4.0265407741433034e37,4.036381799282995e37,4.046222570892567e37,4.056063596032259e37,4.0659046211719506e37,4.0757456463116424e37,4.085586417921214e37,4.095427443060906e37,4.1052684682005977e37,4.1151092398101694e37,4.124950264949861e37,4.134791290089553e37,4.144632315229245e37,4.1544730868388165e37,4.1643141119785083e37,4.1741551371182e37,4.183995908727772e37,4.1938369338674637e37,4.2036779590071554e37,4.213518984146847e37,4.223359755756419e37,4.233200780896111e37,4.2430418060358026e37,4.2528825776453743e37,4.262723602785066e37,4.272564627924758e37,4.28240565306445e37,4.292246678204141e37,4.302087703343833e37,4.311928221423285e37,4.321769246562977e37,4.331610271702669e37,4.34145129684236e37,4.351292321982052e37,4.361133347121744e37,4.370974372261436e37,4.380814890340887e37,4.390655915480579e37,4.400496940620271e37,4.410337965759963e37,4.420178990899655e37,4.430020016039346e37,4.439861041179038e37,4.44970155925849e37,4.459542584398182e37,4.469383609537873e37,4.479224634677565e37,4.489065659817257e37,4.498906684956949e37,4.508747710096641e37,4.518588228176092e37,4.528429253315784e37,4.538270278455476e37,4.548111303595168e37,4.557952328734859e37,4.567793353874551e37,4.577634379014243e37,4.587474897093695e37,4.5973159222333865e37,4.607156947373078e37,4.61699797251277e37,4.626838997652462e37,4.636680022792154e37,4.646521047931845e37,4.656362073071537e37,4.666202591150989e37,4.676043616290681e37,4.685884641430373e37,4.695725666570064e37,4.705566691709756e37,4.715407716849448e37,4.72524874198914e37,4.735089260068591e37,4.744930285208283e37,4.754771310347975e37,4.764612335487667e37,4.774453360627359e37,4.78429438576705e37,4.794135410906742e37,4.803975928986194e37,4.813816954125886e37,4.823657979265577e37,4.833499004405269e37,4.843340029544961e37,4.853181054684653e37,4.863022079824345e37,4.872862597903796e37,4.882703623043488e37,4.89254464818318e37,4.902385673322872e37,4.912226698462563e37,4.922067723602255e37,4.931908748741947e37,4.941749266821399e37,4.9515902919610905e37,4.961431317100782e37,4.971272342240474e37,4.981113367380166e37,4.990954392519858e37,5.000795417659549e37,5.010635935739001e37,5.020476960878693e37,5.030317986018385e37,5.040159011158077e37,5.050000036297768e37,5.05984106143746e37,5.069682086577152e37,5.079523111716844e37,5.089363629796295e37,5.099204654935987e37,5.109045680075679e37,5.118886705215371e37,5.128727730355063e37,5.138568755494754e37,5.148409780634446e37,5.158250298713898e37,5.16809132385359e37,5.177932348993281e37,5.187773374132973e37,5.197614399272665e37,5.207455424412357e37,5.217296449552049e37,5.2271369676315e37,5.236977992771192e37,5.246819017910884e37,5.256660043050576e37,5.266501068190267e37,5.276342093329959e37,5.286183118469651e37,5.296023636549103e37,5.3058646616887945e37,5.315705686828486e37,5.325546711968178e37,5.33538773710787e37,5.345228762247562e37,5.355069787387253e37,5.364910305466705e37,5.374751330606397e37,5.384592355746089e37,5.394433380885781e37,5.404274406025472e37,5.414115431165164e37,5.423956456304856e37,5.433796974384308e37,5.443637999523999e37,5.453479024663691e37,5.463320049803383e37,5.473161074943075e37,5.483002100082767e37,5.492843125222458e37,5.50268364330191e37,5.512524668441602e37,5.522365693581294e37,5.532206718720985e37,5.542047743860677e37,5.551888769000369e37,5.561729794140061e37,5.571570819279753e37,5.581411337359204e37,5.591252362498896e37,5.601093387638588e37,5.61093441277828e37,5.620775437917971e37,5.630616463057663e37,5.640457488197355e37,5.650298006276807e37,5.6601390314164985e37,5.66998005655619e37,5.679821081695882e37,5.689662106835574e37,5.699503131975266e37,5.709344157114957e37,5.719184675194409e37,5.729025700334101e37,5.738866725473793e37,5.748707750613485e37,5.758548775753176e37,5.768389800892868e37,5.77823082603256e37,5.788071344112012e37,5.797912369251703e37,5.807753394391395e37,5.817594419531087e37,5.827435444670779e37,5.837276469810471e37,5.847117494950162e37,5.856958013029614e37,5.866799038169306e37,5.876640063308998e37,5.886481088448689e37,5.896322113588381e37,5.906163138728073e37,5.916004163867765e37,5.9258446819472165e37,5.935685707086908e37,5.9455267322266e37,5.955367757366292e37,5.965208782505984e37,5.975049807645675e37,5.984890832785367e37,5.994731857925059e37,6.004572376004511e37,6.0144134011442025e37,6.024254426283894e37,6.034095451423586e37,6.043936476563278e37,6.05377750170297e37,6.0636185268426615e37,6.073459044922113e37,6.083300070061805e37,6.093141095201497e37,6.102982120341189e37,6.11282314548088e37,6.122664170620572e37,6.132505195760264e37,6.142345713839716e37,6.152186738979407e37,6.162027764119099e37,6.171868789258791e37,6.181709814398483e37,6.191550839538175e37,6.201391864677866e37,6.211232382757318e37,6.22107340789701e37,6.230914433036702e37,6.240755458176393e37,6.250596483316085e37,6.260437508455777e37,6.270278533595469e37,6.2801190516749205e37,6.289960076814612e37,6.299801101954304e37,6.309642127093996e37,6.319483152233688e37,6.329324177373379e37,6.339165202513071e37,6.349005720592523e37,6.358846745732215e37,6.3686877708719065e37,6.378528796011598e37,6.38836982115129e37,6.398210846290982e37,6.408051871430674e37,6.4178928965703655e37,6.427733414649817e37,6.437574439789509e37,6.447415464929201e37,6.457256490068893e37,6.467097515208584e37,6.476938540348276e37,6.486779565487968e37,6.49662008356742e37,6.506461108707111e37,6.516302133846803e37,6.526143158986495e37,6.535984184126187e37,6.545825209265879e37,6.55566623440557e37,6.565506752485022e37,6.575347777624714e37,6.585188802764406e37,6.595029827904097e37,6.604870853043789e37,6.614711878183481e37,6.624552903323173e37,6.6343934214026245e37,6.644234446542316e37,6.654075471682008e37,6.6639164968217e37,6.673757521961392e37,6.683598547101083e37,6.693439572240775e37,6.703280090320227e37,6.713121115459919e37,6.7229621405996105e37,6.732803165739302e37,6.742644190878994e37,6.752485216018686e37,6.762326241158378e37,6.772166759237829e37,6.782007784377521e37,6.791848809517213e37,6.801689834656905e37,6.811530859796597e37,6.821371884936288e37,6.83121291007598e37,6.841053428155432e37,6.850894453295124e37,6.860735478434815e37,6.870576503574507e37,6.880417528714199e37,6.890258553853891e37,6.900099578993583e37,6.909940604133274e37,6.919781122212726e37,6.929622147352418e37,6.93946317249211e37,6.949304197631801e37,6.959145222771493e37,6.968986247911185e37,6.978827273050877e37,6.9886677911303285e37,6.99850881627002e37,7.008349841409712e37,7.018190866549404e37,7.028031891689096e37,7.037872916828787e37,7.047713941968479e37,7.057554460047931e37,7.067395485187623e37,7.0772365103273145e37,7.087077535467006e37,7.096918560606698e37,7.10675958574639e37,7.116600610886082e37,7.126441128965533e37,7.136282154105225e37,7.146123179244917e37,7.155964204384609e37,7.165805229524301e37,7.175646254663992e37,7.185487279803684e37,7.195327797883136e37,7.205168823022828e37,7.215009848162519e37,7.224850873302211e37,7.234691898441903e37,7.244532923581595e37,7.254373948721287e37,7.264214466800738e37,7.27405549194043e37,7.283896517080122e37,7.293737542219814e37,7.303578567359505e37,7.313419592499197e37,7.323260617638889e37,7.333101642778581e37,7.3429421608580325e37,7.352783185997724e37,7.362624211137416e37,7.372465236277108e37,7.3823062614168e37,7.392147286556491e37,7.401988311696183e37,7.411828829775635e37,7.421669854915327e37,7.4315108800550185e37,7.44135190519471e37,7.451192930334402e37,7.461033955474094e37,7.470874980613786e37,7.480715498693237e37,7.490556523832929e37,7.500397548972621e37,7.510238574112313e37,7.520079599252005e37,7.529920624391696e37,7.539761649531388e37,7.54960216761084e37,7.559443192750532e37,7.569284217890223e37,7.579125243029915e37,7.588966268169607e37,7.598807293309299e37,7.608648318448991e37,7.618488836528442e37,7.628329861668134e37,7.638170886807826e37,7.648011911947518e37,7.657852937087209e37,7.667693962226901e37,7.677534987366593e37,7.687375505446045e37,7.6972165305857365e37,7.707057555725428e37,7.71689858086512e37,7.726739606004812e37,7.736580631144504e37,7.746421656284195e37,7.756262174363647e37,7.766103199503339e37,7.775944224643031e37,7.7857852497827225e37,7.795626274922414e37,7.805467300062106e37,7.815308325201798e37,7.82514935034149e37,7.834989868420941e37,7.844830893560633e37,7.854671918700325e37,7.864512943840017e37,7.874353968979709e37,7.8841949941194e37,7.894036019259092e37,7.903876537338544e37,7.913717562478236e37,7.923558587617927e37,7.933399612757619e37,7.943240637897311e37,7.953081663037003e37,7.962922688176695e37,7.972763206256146e37,7.982604231395838e37,7.99244525653553e37,8.002286281675222e37,8.012127306814913e37,8.021968331954605e37,8.031809357094297e37,8.041649875173749e37,8.0514909003134405e37,8.061331925453132e37,8.071172950592824e37,8.081013975732516e37,8.090855000872208e37,8.100696026011899e37,8.110536544091351e37,8.120377569231043e37,8.130218594370735e37,8.1400596195104265e37,8.149900644650118e37,8.15974166978981e37,8.169582694929502e37,8.179423213008954e37,8.189264238148645e37,8.199105263288337e37,8.208946288428029e37,8.218787313567721e37,8.228628338707413e37,8.238469363847104e37,8.248310388986796e37,8.258150907066248e37,8.26799193220594e37,8.277832957345631e37,8.287673982485323e37,8.297515007625015e37,8.307356032764707e37,8.317197057904399e37,8.32703757598385e37,8.336878601123542e37,8.346719626263234e37,8.356560651402926e37,8.366401676542617e37,8.376242701682309e37,8.386083726822001e37,8.395924244901453e37,8.4057652700411445e37,8.415606295180836e37,8.425447320320528e37,8.43528834546022e37,8.445129370599912e37,8.454970395739603e37,8.464810913819055e37,8.474651938958747e37,8.484492964098439e37,8.494333989238131e37,8.504175014377822e37,8.514016039517514e37,8.523857064657206e37,8.533698089796898e37,8.54353911493659e37,8.553380140076281e37,8.563221165215973e37,8.573061176235185e37,8.582902201374876e37,8.592743226514568e37,8.60258425165426e37,8.612425276793952e37,8.622266301933644e37,8.632107327073335e37,8.641948352213027e37,8.651789377352719e37,8.66163040249241e37,8.671471427632103e37,8.681312452771794e37,8.691153477911486e37,8.700994503051178e37,8.71083451407039e37,8.720675539210081e37,8.730516564349773e37,8.740357589489465e37,8.750198614629157e37,8.760039639768849e37,8.76988066490854e37,8.779721690048232e37,8.789562715187924e37,8.799403740327616e37,8.809244765467307e37,8.819085790607e37,8.828926815746691e37,8.838767840886383e37,8.848607851905594e37,8.858448877045286e37,8.868289902184978e37,8.87813092732467e37,8.887971952464362e37,8.897812977604053e37,8.907654002743745e37,8.917495027883437e37,8.927336053023129e37,8.93717707816282e37,8.947018103302512e37,8.956859128442204e37,8.966700153581896e37,8.976541178721588e37,8.98638220386128e37,8.996222214880491e37,9.006063240020183e37,9.015904265159875e37,9.025745290299566e37,9.035586315439258e37,9.04542734057895e37,9.055268365718642e37,9.065109390858334e37,9.074950415998025e37,9.084791441137717e37,9.094632466277409e37,9.1044734914171e37,9.114314516556793e37,9.124155541696484e37,9.133995552715696e37,9.143836577855388e37,9.15367760299508e37,9.163518628134771e37,9.173359653274463e37,9.183200678414155e37,9.193041703553847e37,9.202882728693539e37,9.21272375383323e37,9.222564778972922e37,9.232405804112614e37,9.242246829252306e37,9.252087854391997e37,9.26192887953169e37,9.2717688905509e37,9.281609915690593e37,9.291450940830284e37,9.301291965969976e37,9.311132991109668e37,9.32097401624936e37,9.330815041389052e37,9.340656066528743e37,9.350497091668435e37,9.360338116808127e37,9.370179141947819e37,9.38002016708751e37,9.389861192227202e37,9.399702217366894e37,9.409543242506586e37,9.419383253525798e37,9.42922427866549e37,9.439065303805181e37,9.448906328944873e37,9.458747354084565e37,9.468588379224257e37,9.478429404363948e37,9.48827042950364e37,9.498111454643332e37,9.507952479783024e37,9.517793504922715e37,9.527634530062407e37,9.537475555202099e37,9.54731658034179e37,9.557156591361002e37,9.566997616500694e37,9.576838641640386e37,9.586679666780078e37,9.59652069191977e37,9.606361717059461e37,9.616202742199153e37,9.626043767338845e37,9.635884792478537e37,9.645725817618229e37,9.65556684275792e37,9.665407867897612e37,9.675248893037304e37,9.685089918176996e37,9.694929929196207e37,9.7047709543359e37,9.71461197947559e37,9.724453004615283e37,9.734294029754974e37,9.744135054894666e37,9.753976080034358e37,9.76381710517405e37,9.773658130313742e37,9.783499155453433e37,9.793340180593125e37,9.803181205732817e37,9.813022230872509e37,9.8228632560122e37,9.832704281151892e37,9.842544292171104e37,9.852385317310796e37,9.862226342450488e37,9.87206736759018e37,9.881908392729871e37,9.891749417869563e37,9.901590443009255e37,9.911431468148947e37,9.921272493288638e37,9.93111351842833e37,9.940954543568022e37,9.950795568707714e37,9.960636593847405e37,9.970477618987097e37,9.980317630006309e37,9.990158655146e37,9.999999680285692e37]} diff --git a/test/fixtures/julia/runner.jl b/test/fixtures/julia/runner.jl deleted file mode 100644 index 9cc0556..0000000 --- a/test/fixtures/julia/runner.jl +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env julia -# -# @license Apache-2.0 -# -# Copyright (c) 2018 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. - -import JSON - -""" - gen( x, name ) - -Generate fixture data and write to file. - -# Arguments - -* `x`: domain -* `name::AbstractString`: output filename - -# Examples - -``` julia -julia> x = range( 1e-36, stop = 1e-38, length = 1007 ); -julia> gen( x, \"data.json\" ); -``` -""" -function gen( x, name ) - y = Array{Any}( undef, length(x) ); - z = Array{Any}( undef, length(x) ); - for i in eachindex(x) - # Mimic implicit type promotion in JavaScript where we need to cast a Float64 to a Float32 before deriving a bit sequence: - f32 = convert( Float32, x[i] ); - y[i] = bitstring( f32 ); - z[i] = convert( Float64, f32 ); - end - - # Store data to be written to file as a collection: - data = Dict([ - ("x", z), - ("expected", y) - ]); - - # Based on the script directory, create an output filepath: - filepath = joinpath( dir, name ); - - # Write the data to the output filepath as JSON: - outfile = open( filepath, "w" ); - write( outfile, JSON.json(data) ); - write( outfile, "\n" ); - close( outfile ); -end - -# Get the filename: -file = @__FILE__; - -# Extract the directory in which this file resides: -dir = dirname( file ); - -# Small values: -x = range( 1e-36, stop = 1e-38, length = 1007 ); -gen( x, "bits_1e-36_1e-38.json" ); - -# Medium values: -x = range( -1e3, stop = 1e3, length = 1007 ); -gen( x, "bits_-1e3_1e3.json" ); - -# Large values: -x = range( 1e36, stop = 1e38, length = 1007 ); -gen( x, "bits_1e36_1e38.json" ); - -# Subnormal values: -x = range( 1e-39, stop = 1e-45, length = 1007 ); -gen( x, "bits_1e-39_1e-45.json" ); diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 2ef043b..0000000 --- a/test/test.js +++ /dev/null @@ -1,162 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2018 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 repeat = require( '@stdlib/string-repeat' ); -var rpad = require( '@stdlib/string-right-pad' ); -var PINF = require( '@stdlib/constants-float32-pinf' ); -var NINF = require( '@stdlib/constants-float32-ninf' ); -var toBinaryStringf = require( './../lib' ); - - -// VARIABLES // - -// TODO: consider placing in external modules -var NUM_SIGNIFICAND_BITS = 23; -var NUM_EXPONENT_BITS = 8; - - -// FIXTURES // - -var small = require( './fixtures/julia/bits_1e-36_1e-38.json' ); -var medium = require( './fixtures/julia/bits_-1e3_1e3.json' ); -var large = require( './fixtures/julia/bits_1e36_1e38.json' ); -var subnormal = require( './fixtures/julia/bits_1e-39_1e-45.json' ); - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.equal( typeof toBinaryStringf, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `+0`, the function returns a string of all zeros', function test( t ) { - var expected = repeat( '0', 32 ); - t.equal( toBinaryStringf( 0.0 ), expected, 'returns all 0s' ); - t.end(); -}); - -tape( 'if provided `-0`, the function returns a string of all zeros except for the sign bit', function test( t ) { - var expected = rpad( '1', 32, '0' ); - t.equal( toBinaryStringf( -0.0 ), expected, 'returns all 0s except the sign bit' ); - t.end(); -}); - -tape( 'if provided `+infinity`, the function returns a string where all exponent bits are 1s and everything else are 0s', function test( t ) { - var expected; - - expected = '0'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( PINF ), expected, 'returns bit string for +infinity' ); - t.end(); -}); - -tape( 'if provided `-infinity`, the function returns a string where the sign bit is 1, all exponent bits are 1s, and everything else are 0s', function test( t ) { - var expected; - - expected = '1'; - expected += repeat( '1', NUM_EXPONENT_BITS ); - expected += repeat( '0', NUM_SIGNIFICAND_BITS ); - - t.equal( toBinaryStringf( NINF ), expected, 'returns bit string for -infinity' ); - t.end(); -}); - -tape( 'if provided `NaN`, the function returns a string where the sign bit may be either 1 or 0, all exponent bits are 1s, and the fraction cannot be all 0s', function test( t ) { - var actual; - var frac; - var exp; - - exp = repeat( '1', NUM_EXPONENT_BITS ); - frac = repeat( '0', NUM_SIGNIFICAND_BITS ); - - actual = toBinaryStringf( NaN ); - - t.ok( actual[0] === '0' || actual[1] === '1', 'sign bit is either 1 or 0' ); - t.equal( actual.substring( 1, 9 ), exp, 'all 1s for exponent' ); - t.notEqual( actual.substring( 9 ), frac, 'fraction does not equal all 0s' ); - t.end(); -}); - -tape( 'the function returns literal bit representations for small values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = small.x; - expected = small.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for medium values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = medium.x; - expected = medium.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for large values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = large.x; - expected = large.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -}); - -tape( 'the function returns literal bit representations for subnormal values', function test( t ) { - var expected; - var str; - var x; - var i; - - x = subnormal.x; - expected = subnormal.expected; - for ( i = 0; i < x.length; i++ ) { - str = toBinaryStringf( x[ i ] ); - t.equal( str, expected[ i ], 'returns bit literal for ' + x[ i ] ); - } - t.end(); -});